--- lbbs/src/menu_proc.c 2025/06/24 10:01:24 1.28 +++ lbbs/src/menu_proc.c 2025/10/13 05:34:27 1.32 @@ -37,7 +37,7 @@ int list_section(void *param) { - section_list_display(param); + section_list_display(param, 0); return REDRAW; } @@ -81,8 +81,8 @@ int exec_mbem(void *param) else { clearscr(); - prints("加载库文件 [%s] 失败!!\r\n", s + 5); - prints("失败原因:%s\r\n", dlerror()); + prints("鍔犺浇搴撴枃浠 [%s] 澶辫触!!\r\n", s + 5); + prints("澶辫触鍘熷洜:%s\r\n", dlerror()); press_any_key(); } } @@ -117,11 +117,11 @@ int reload_bbs_conf(void *param) { log_error("Send SIGHUP signal failed (%d)\n", errno); - prints("发送指令失败\r\n"); + prints("鍙戦佹寚浠ゅけ璐r\n"); } else { - prints("已发送指令\r\n"); + prints("宸插彂閫佹寚浠r\n"); } press_any_key(); @@ -154,9 +154,9 @@ static int display_ex_article_key_handle { case 0: // Set msg snprintf(p_ctx->msg, sizeof(p_ctx->msg), - "| 返回[\033[32m←\033[33m,\033[32mESC\033[33m] | " - "移动[\033[32m↑\033[33m/\033[32m↓\033[33m/\033[32mPgUp\033[33m/\033[32mPgDn\033[33m] | " - "帮助[\033[32mh\033[33m] |"); + "| 杩斿洖[\033[32m鈫怽033[33m,\033[32mESC\033[33m] | " + "绉诲姩[\033[32m鈫慭033[33m/\033[32m鈫揬033[33m/\033[32mPgUp\033[33m/\033[32mPgDn\033[33m] | " + "甯姪[\033[32mh\033[33m] |"); break; } @@ -206,3 +206,54 @@ int view_ex_article(void *param) return REDRAW; } + +int list_ex_section(void *param) +{ + SECTION_LIST *p_section; + + p_section = section_list_find_by_name(param, NULL); + if (p_section == NULL) + { + log_error("Section %s not found\n", (const char *)param); + return -1; + } + + if (section_list_ex_dir_display(p_section) < 0) + { + log_error("section_list_ex_dir_display(sid=%d) error\n", p_section->sid); + } + + return REDRAW; +} + +int top10_menu(void *param) +{ + return REDRAW; +} + +int locate_article(void *param) +{ + char *sname, *aid, *saveptr; + + sname = strtok_r(param, " ", &saveptr); + aid = strtok_r(NULL, " ", &saveptr); + + if (sname == NULL || aid == NULL) + { + log_error("top10_locate() error: invalid parameter\n", (const char *)param); + return NOREDRAW; + } + + section_list_display(sname, atoi(aid)); + + return REDRAW; +} + +int favor_topic(void *param) +{ + clearscr(); + prints("姝ゅ姛鑳藉皻鏈疄鐜"); + press_any_key(); + + return REDRAW; +}