summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mbbsd/board.c2
-rw-r--r--mbbsd/user.c44
2 files changed, 23 insertions, 23 deletions
diff --git a/mbbsd/board.c b/mbbsd/board.c
index 6844bb50..14a01ced 100644
--- a/mbbsd/board.c
+++ b/mbbsd/board.c
@@ -124,7 +124,7 @@ check_newpost(boardstat_t * ptr)
time_t *tbrc_list;
ptr->myattr &= ~NBRD_UNREAD;
- if (B_BH(ptr)->brdattr & BRD_GROUPBOARD)
+ if (B_BH(ptr)->brdattr & (BRD_GROUPBOARD | BRD_SYMBOLIC))
return 0;
if (B_TOTAL(ptr) == 0)
diff --git a/mbbsd/user.c b/mbbsd/user.c
index 74dd74d4..00c41c27 100644
--- a/mbbsd/user.c
+++ b/mbbsd/user.c
@@ -12,7 +12,7 @@ int
kill_user(int num)
{
userec_t u;
- memset(&u, 0, sizeof(u));
+ memset(&u, 0, sizeof(userec_t));
log_usies("KILL", getuserid(num));
setuserid(num, "");
passwd_update(num, &u);
@@ -33,7 +33,7 @@ u_loginview()
clrtobot();
while (getdata(b_lines - 1, 0, "請按 [A-N] 切換設定,按 [Return] 結束:",
- choice, sizeof(choice), LCECHO)) {
+ choice, 3, LCECHO)) {
i = choice[0] - 'a';
if (i >= NUMVIEWFILE || i < 0)
bell();
@@ -97,7 +97,7 @@ user_display(userec_t * u, int real)
u->numlogins, u->numposts);
if (real) {
- strlcpy(genbuf, "bTCPRp#@XWBA#VSM0123456789ABCDEF", sizeof(genbuf));
+ strcpy(genbuf, "bTCPRp#@XWBA#VSM0123456789ABCDEF");
for (diff = 0; diff < 32; diff++)
if (!(u->userlevel & (1 << diff)))
genbuf[diff] = '-';
@@ -144,7 +144,7 @@ mail_violatelaw(char *crime, char *police, char *reason, char *result)
char genbuf[200];
fileheader_t fhdr;
FILE *fp;
- snprintf(genbuf, sizeof(genbuf), "home/%c/%s", crime[0], crime);
+ snprintf(genbuf, 200, "home/%c/%s", crime[0], crime);
stampfile(genbuf, &fhdr);
if (!(fp = fopen(genbuf, "w")))
return;
@@ -156,9 +156,9 @@ mail_violatelaw(char *crime, char *police, char *reason, char *result)
"\n請到 PttLaw 查詢相關法規資訊,並到 Play-Pay-ViolateLaw 繳交罰單",
ctime(&now), police, crime, reason, result);
fclose(fp);
- snprintf(fhdr.title, sizeof(fhdr.title), "[報告] 違法判決報告");
- strlcpy(fhdr.owner, "[Ptt法院]", sizeof(fhdr.owner));
- snprintf(genbuf, sizeof(genbuf), "home/%c/%s/.DIR", crime[0], crime);
+ strcpy(fhdr.title, "[報告] 違法判決報告");
+ strcpy(fhdr.owner, "[Ptt法院]");
+ snprintf(genbuf, 200, "home/%c/%s/.DIR", crime[0], crime);
append_record(genbuf, &fhdr, sizeof(fhdr));
}
@@ -172,16 +172,16 @@ violate_law(userec_t * u, int unum)
move(2, 0);
prints("(1)Cross-post (2)亂發廣告信 (3)亂發連鎖信\n");
prints("(4)騷擾站上使用者 (8)其他以罰單處置行為\n(9)砍 id 行為\n");
- getdata(5, 0, "(0)結束", ans, sizeof(ans), DOECHO);
+ getdata(5, 0, "(0)結束", ans, 3, DOECHO);
switch (ans[0]) {
case '1':
- snprintf(reason, sizeof(reason), "%s", "Cross-post");
+ strcpy(reason, "Cross-post");
break;
case '2':
- snprintf(reason, sizeof(reason), "%s", "亂發廣告信");
+ strcpy(reason, "亂發廣告信");
break;
case '3':
- snprintf(reason, sizeof(reason), "%s", "亂發連鎖信");
+ strcpy(reason, "亂發連鎖信");
break;
case '4':
while (!getdata(7, 0, "請輸入被檢舉理由以示負責:", reason, 50, DOECHO));
@@ -194,7 +194,7 @@ violate_law(userec_t * u, int unum)
default:
return;
}
- getdata(7, 0, msg_sure_ny, ans2, sizeof(ans2), LCECHO);
+ getdata(7, 0, msg_sure_ny, ans2, 3, LCECHO);
if (*ans2 != 'y')
return;
if (ans[0] == '9') {
@@ -237,7 +237,7 @@ static void Customize(void)
prints("%-30s%10s\n", "E. 高亮度顯示我的最愛",
((cuser->uflag2 & FAVNOHILIGHT) ? "否" : "是"));
getdata(b_lines - 1, 0, "請按 [A-E] 切換設定,按 [Return] 結束:",
- ans, sizeof(ans), DOECHO);
+ ans, 3, DOECHO);
switch( ans[0] ){
case 'A':
@@ -1286,7 +1286,7 @@ u_register(void)
REGFORM:
getdata(b_lines - 1, 0, "您確定要填寫註冊單嗎(Y/N)?[N] ",
- ans, sizeof(ans), LCECHO);
+ ans, 3, LCECHO);
if (ans[0] != 'y')
return FULLUPDATE;
@@ -1323,7 +1323,7 @@ u_register(void)
getfield(4, "0123456789","身分證號 護照號碼 或 SSN", ident, 11);
move(6, 2);
prints("號碼有誤者將無法取得進一步的權限!");
- getdata(7, 2, "是否確定(Y/N)", ans, sizeof(ans), LCECHO);
+ getdata(7, 2, "是否確定(Y/N)", ans, 3, LCECHO);
if (ans[0] == 'y' || ans[0] == 'Y')
break;
vmsg("請重新輸入(若有問題麻煩至SYSOP板)");
@@ -1391,7 +1391,7 @@ u_register(void)
getfield(17, "月月/日日/西元 如:09/27/76", "生日", birthday, 9);
len = strlen(birthday);
if (!len) {
- snprintf(birthday, sizeof(birthday), "%02i/%02i/%02i",
+ snprintf(birthday, 9, "%02i/%02i/%02i",
cuser->month, cuser->day, cuser->year % 100);
mon = cuser->month;
day = cuser->day;
@@ -1413,16 +1413,16 @@ u_register(void)
}
getfield(19, "1.葛格 2.姐接 ", "性別", sex_is, 2);
getdata(20, 0, "以上資料是否正確(Y/N)?(Q)取消註冊 [N] ",
- ans, sizeof(ans), LCECHO);
+ ans, 3, LCECHO);
if (ans[0] == 'q')
return 0;
if (ans[0] == 'y')
break;
}
- strlcpy(cuser->ident, ident, sizeof(cuser->ident));
- strlcpy(cuser->realname, rname, sizeof(cuser->realname));
- strlcpy(cuser->address, addr, sizeof(cuser->address));
- strlcpy(cuser->email, email, sizeof(cuser->email));
+ strlcpy(cuser->ident, ident,11);
+ strlcpy(cuser->realname, rname, 20);
+ strlcpy(cuser->address, addr, 50);
+ strlcpy(cuser->email, email, 50);
cuser->mobile = atoi(mobile);
cuser->sex = (sex_is[0] - '1') % 8;
cuser->month = mon;
@@ -1494,7 +1494,7 @@ u_list_CB(int num, userec_t * uentp)
clrtobot();
}
level = uentp->userlevel;
- strlcpy(permstr, "----", sizeof(permstr));
+ strlcpy(permstr, "----", 8);
if (level & PERM_SYSOP)
permstr[0] = 'S';
else if (level & PERM_ACCOUNTS)