summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/pttstruct.h7
-rw-r--r--mbbsd/mbbsd.c10
-rw-r--r--util/shmctl.c2
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;