diff options
-rw-r--r-- | include/pttstruct.h | 7 | ||||
-rw-r--r-- | mbbsd/mbbsd.c | 10 | ||||
-rw-r--r-- | util/shmctl.c | 2 |
3 files changed, 12 insertions, 7 deletions
diff --git a/include/pttstruct.h b/include/pttstruct.h index db5eb794..67fa00cf 100644 --- a/include/pttstruct.h +++ b/include/pttstruct.h @@ -100,9 +100,9 @@ typedef struct userec_t { unsigned short chc_tie; /* 象棋戰績 和 */ int mobile; /* 手機號碼 */ char mind[4]; /* 心情 not a null-terminate string */ - unsigned short go_win; /* 圍祺戰績 勝 */ - unsigned short go_lose; /* 圍祺戰績 敗 */ - unsigned short go_tie; /* 圍祺戰績 和 */ + unsigned short go_win; /* 圍棋戰績 勝 */ + unsigned short go_lose; /* 圍棋戰績 敗 */ + unsigned short go_tie; /* 圍棋戰績 和 */ char pad0[5]; /* 從前放 ident 身份證字號,現在可以拿來做別的事了, 不過最好記得要先清成 0 */ unsigned char signature; /* 慣用簽名檔 */ @@ -594,6 +594,7 @@ typedef struct { time4_t now; #endif int nWelcomes; + int shutdown; /* shutdown flag */ /* 注意, 應保持 align sizeof(int) */ } e; diff --git a/mbbsd/mbbsd.c b/mbbsd/mbbsd.c index 754e5388..487641fb 100644 --- a/mbbsd/mbbsd.c +++ b/mbbsd/mbbsd.c @@ -182,9 +182,13 @@ u_exit(const char *mode) cuser.pager = currutmp->pager; memcpy(cuser.mind, currutmp->mind, 4); setutmpbid(0); - if (!(HasUserPerm(PERM_SYSOP) && HasUserPerm(PERM_SYSOPHIDE)) && - !currutmp->invisible) - do_aloha("<<下站通知>> -- 我走囉!"); + + if (!SHM->GV2.e.shutdown) { + if (!(HasUserPerm(PERM_SYSOP) && HasUserPerm(PERM_SYSOPHIDE)) && + !currutmp->invisible) + do_aloha("<<下站通知>> -- 我走囉!"); + } + if ((cuser.uflag != enter_uflag) || dirty || diff) { if (!diff && cuser.numlogins) diff --git a/util/shmctl.c b/util/shmctl.c index a1dabe31..939fab39 100644 --- a/util/shmctl.c +++ b/util/shmctl.c @@ -572,7 +572,7 @@ int utmpnum(int argc, char **argv) } char *GV2str[] = {"dymaxactive", "toomanyusers", - "noonlineuser", NULL}; + "noonlineuser","now", "nWelcomes", "shutdown", NULL}; int showglobal(int argc, char **argv) { int i; |