diff options
-rw-r--r-- | pttbbs/mbbsd/user.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/pttbbs/mbbsd/user.c b/pttbbs/mbbsd/user.c index 34b909e7..7f917eb3 100644 --- a/pttbbs/mbbsd/user.c +++ b/pttbbs/mbbsd/user.c @@ -68,6 +68,7 @@ u_loginview(void) { int i, in; unsigned int pbits = cuser.loginview; + int ical = -1, has_cal = 0; do { vs_hdr("設定進站畫面"); @@ -76,13 +77,24 @@ u_loginview(void) // ignore those without file name if (!*loginview_file[i][0]) continue; + if (strcasecmp(loginview_file[i][0], "@calendar") == 0) { + ical = i; + has_cal = pbits & (1 << ical); + if (!has_cal) + continue; + } prints(" %c. %-20s %-15s \n", 'A' + i, - loginview_file[i][1], ((pbits >> i) & 1 ? "ˇ" : "X")); + loginview_file[i][1], ((pbits >> i) & 1 ? "ˇ" : "X")); } + // XXX calendar must be last item. + if (i == ical + 1 && !has_cal) + i--; + in = i; // max i i = vmsgf("請按 [A-%c] 切換設定,按 [Return] 結束:", 'A'+in-1); if (i == '\r') break; + // process i i = tolower(i) - 'a'; if (i >= in || i < 0 || !*loginview_file[i][0]) { |