summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mbbsd/admin.c3
-rw-r--r--mbbsd/menu.c27
2 files changed, 29 insertions, 1 deletions
diff --git a/mbbsd/admin.c b/mbbsd/admin.c
index e22ad368..6b95e5bd 100644
--- a/mbbsd/admin.c
+++ b/mbbsd/admin.c
@@ -145,7 +145,8 @@ search_key_user(const char *passwdfile, int mode)
}
vs_hdr(key);
- while ((fread(&user, sizeof(user), 1, fp1)) > 0 && unum++ <= MAX_USERS) {
+ // <= or < ? I'm not sure...
+ while ((fread(&user, sizeof(user), 1, fp1)) > 0 && unum++ < MAX_USERS) {
// skip empty records
if (!user.userid[0])
diff --git a/mbbsd/menu.c b/mbbsd/menu.c
index 774d41e9..1a0db144 100644
--- a/mbbsd/menu.c
+++ b/mbbsd/menu.c
@@ -252,6 +252,33 @@ domenu(int cmdmode, const char *cmdtitle, int cmd, const commands_t cmdtable[])
do {
i = -1;
switch (cmd) {
+ case Ctrl('Z'): // simple quick nav
+ vs_footer(" 快速切換 ",
+ " (b)文章列表 (c)分類看板 (f)我的最愛 (m)信箱 (u)使用者名單");
+ refscreen = 1;
+ switch(vkey()) {
+ case 'b': case 'B':
+ Read();
+ break;
+ case 'c': case 'C':
+ Class();
+ break;
+ case 'f': case 'F':
+ Favorite();
+ break;
+ case 'm': case 'M':
+ m_read();
+ break;
+ case 'u': case 'U':
+ t_users();
+ break;
+ default:
+ show_status();
+ refscreen = 0;
+ break;
+ }
+ i = lastcmdptr;
+ break;
case Ctrl('I'):
t_idle();
refscreen = YEA;