diff options
-rw-r--r-- | mbbsd/admin.c | 33 | ||||
-rw-r--r-- | mbbsd/announce.c | 30 | ||||
-rw-r--r-- | mbbsd/bbcall.c | 16 | ||||
-rw-r--r-- | mbbsd/bbs.c | 24 | ||||
-rw-r--r-- | mbbsd/board.c | 5 | ||||
-rw-r--r-- | mbbsd/cache.c | 3 | ||||
-rw-r--r-- | mbbsd/cal.c | 29 | ||||
-rw-r--r-- | mbbsd/card.c | 6 | ||||
-rw-r--r-- | mbbsd/chat.c | 4 | ||||
-rw-r--r-- | mbbsd/chicken.c | 12 | ||||
-rw-r--r-- | mbbsd/dice.c | 4 | ||||
-rw-r--r-- | mbbsd/edit.c | 35 | ||||
-rw-r--r-- | mbbsd/friend.c | 9 | ||||
-rw-r--r-- | mbbsd/gomo.c | 6 | ||||
-rw-r--r-- | mbbsd/guess.c | 29 | ||||
-rw-r--r-- | mbbsd/indict.c | 4 | ||||
-rw-r--r-- | mbbsd/io.c | 6 | ||||
-rw-r--r-- | mbbsd/lovepaper.c | 7 | ||||
-rw-r--r-- | mbbsd/mail.c | 20 | ||||
-rw-r--r-- | mbbsd/mbbsd.c | 6 | ||||
-rw-r--r-- | mbbsd/more.c | 4 | ||||
-rw-r--r-- | mbbsd/othello.c | 5 | ||||
-rw-r--r-- | mbbsd/page.c | 4 | ||||
-rw-r--r-- | mbbsd/read.c | 4 | ||||
-rw-r--r-- | mbbsd/register.c | 26 | ||||
-rw-r--r-- | mbbsd/syspost.c | 4 | ||||
-rw-r--r-- | mbbsd/talk.c | 30 | ||||
-rw-r--r-- | mbbsd/user.c | 52 | ||||
-rw-r--r-- | mbbsd/vice.c | 5 | ||||
-rw-r--r-- | mbbsd/vote.c | 12 | ||||
-rw-r--r-- | mbbsd/voteboard.c | 7 | ||||
-rw-r--r-- | mbbsd/xyz.c | 10 |
32 files changed, 244 insertions, 207 deletions
diff --git a/mbbsd/admin.c b/mbbsd/admin.c index 61509ba6..2d66bfe4 100644 --- a/mbbsd/admin.c +++ b/mbbsd/admin.c @@ -1,4 +1,4 @@ -/* $Id: admin.c,v 1.6 2002/03/17 17:06:54 in2 Exp $ */ +/* $Id: admin.c,v 1.7 2002/04/28 19:35:28 in2 Exp $ */ #include <stdio.h> #include <stdlib.h> #include <string.h> @@ -53,7 +53,7 @@ static int search_key_user(char *passwdfile, int mode) { clear(); getdata(0, 0, mode ? "請輸入使用者關鍵字[電話|地址|姓名|上站地點|" - "email|小雞id] :" : "請輸入id :", key, 21, DOECHO); + "email|小雞id] :" : "請輸入id :", key, sizeof(key), DOECHO); while((fread(&user, sizeof(user), 1, fp1)) > 0 && coun < MAX_USERS) { if(!(++coun & 15)) { move(1, 0); @@ -184,7 +184,7 @@ unsigned int setperms(unsigned int pbits, char *pstring[]) { } clrtobot(); while(getdata(b_lines - 1, 0, "請按 [A-5] 切換設定,按 [Return] 結束:", - choice, 3, LCECHO)) { + choice, sizeof(choice), LCECHO)) { i = choice[0] - 'a'; if(i < 0) i = choice[0] - '0' + 26; @@ -234,7 +234,7 @@ int m_mod_board(char *bname) { sprintf(genbuf, "看板 (E)設定 (V)違法/解除 %s (D)刪除 [Q]取消?", HAS_PERM(PERM_SYSOP) ? " (B)BVote (S)救回文章" : ""); - getdata(10, 0, genbuf, ans, 3, LCECHO); + getdata(10, 0, genbuf, ans, sizeof(ans), LCECHO); switch(*ans) { case 's': @@ -350,9 +350,9 @@ int m_mod_board(char *bname) { strncpy(newbh.title + 5, "●", 2); if(HAS_PERM(PERM_SYSOP) && !(newbh.brdattr & BRD_HIDE)) { - getdata_str(14, 0, "設定讀寫權限(Y/N)?", ans, 4, LCECHO, "N"); + getdata_str(14, 0, "設定讀寫權限(Y/N)?", ans, sizeof(ans), LCECHO, "N"); if(*ans == 'y') { - getdata_str(15, 0, "限制 [R]閱\讀 (P)發表?", ans, 4, LCECHO, + getdata_str(15, 0, "限制 [R]閱\讀 (P)發表?", ans, sizeof(ans), LCECHO, "R"); if(*ans == 'p') newbh.brdattr |= BRD_POSTMASK; @@ -419,7 +419,7 @@ int x_file() { "(X)刪除進站畫面" #endif "\n"); - getdata(b_lines - 1, 0, " (H)看板期限 (I)故鄉 (J)出站畫面 (K)生日卡 (L)節日 [Q]取消?", ans, 3, LCECHO); + getdata(b_lines - 1, 0, " (H)看板期限 (I)故鄉 (J)出站畫面 (K)生日卡 (L)節日 [Q]取消?", ans, sizeof(ans), LCECHO); switch(ans[0]) { case '1': @@ -463,7 +463,7 @@ int x_file() { break; case 'g': #ifdef MULTI_WELCOME_LOGIN - getdata(b_lines - 1, 0, "第幾個進站畫面[0-4]", ans, 3, LCECHO); + getdata(b_lines - 1, 0, "第幾個進站畫面[0-4]", ans, sizeof(ans), LCECHO); if( ans[0] == '1' ) { fpath = "etc/Welcome_login.1"; } else if( ans[0] == '2' ){ fpath = "etc/Welcome_login.2"; } else if( ans[0] == '3' ){ fpath = "etc/Welcome_login.3"; } @@ -476,7 +476,7 @@ int x_file() { #ifdef MULTI_WELCOME_LOGIN case 'x': - getdata(b_lines - 1, 0, "第幾個進站畫面[1-4]", ans, 3, LCECHO); + getdata(b_lines - 1, 0, "第幾個進站畫面[1-4]", ans, sizeof(ans), LCECHO); if( ans[0] == '1' ) { unlink("etc/Welcome_login.1"); outs("ok"); } else if( ans[0] == '2' ){ unlink("etc/Welcome_login.2"); outs("ok"); } else if( ans[0] == '3' ){ unlink("etc/Welcome_login.3"); outs("ok"); } @@ -533,7 +533,8 @@ int m_newbrd(int recover) { } do { - if(!getdata(3, 0, msg_bid, newboard.brdname, IDLEN + 1, DOECHO)) + if(!getdata(3, 0, msg_bid, newboard.brdname, + sizeof(newboard.brdname), DOECHO)) return -1; } while(invalid_brdname(newboard.brdname)); @@ -588,12 +589,12 @@ int m_newbrd(int recover) { strncpy(newboard.title + 5, "●", 2); newboard.level = 0; - getdata(11, 0, "板主名單:", newboard.BM, IDLEN * 3 + 3, DOECHO); + getdata(11, 0, "板主名單:", newboard.BM, sizeof(newboard.BM), DOECHO); if(HAS_PERM(PERM_SYSOP) && !(newboard.brdattr & BRD_HIDE)) { - getdata_str(14, 0, "設定讀寫權限(Y/N)?", ans, 3, LCECHO, "N"); + getdata_str(14, 0, "設定讀寫權限(Y/N)?", ans, sizeof(ans), LCECHO, "N"); if(*ans == 'y') { - getdata_str(15, 0, "限制 [R]閱\讀 (P)發表?", ans, 4, LCECHO, "R"); + getdata_str(15, 0, "限制 [R]閱\讀 (P)發表?", ans, sizeof(ans), LCECHO, "R"); if(*ans == 'p') newboard.brdattr |= BRD_POSTMASK; else @@ -808,7 +809,7 @@ int scan_register_form(char *regfile, int automode, int neednum) { } if(muser.userlevel & PERM_LOGINOK) { getdata(b_lines - 1, 0, "\033[1;32m此帳號已經完成註冊, " - "更新(Y/N/Skip)?\033[m[N] ", ans, 3, LCECHO); + "更新(Y/N/Skip)?\033[m[N] ", ans, sizeof(ans), LCECHO); if(ans[0] != 'y' && ans[0] != 's') ans[0] = 'd'; } else { @@ -1004,7 +1005,7 @@ int m_register() { } } fclose(fn); - getdata(b_lines - 1, 0, "開始審核嗎(Auto/Yes/No)?[N] ", ans, 3, LCECHO); + getdata(b_lines - 1, 0, "開始審核嗎(Auto/Yes/No)?[N] ", ans, sizeof(ans), LCECHO); if(ans[0] == 'a') scan_register_form(fn_register, 1, 0); else if(ans[0] == 'y') @@ -1046,7 +1047,7 @@ int give_money() { struct tm *pt = localtime(&t); int to_all = 0, money = 0; - getdata(0, 0, "指定使用者(S) 全站使用者(A) 取消(Q)?[S]", buf, 3, LCECHO); + getdata(0, 0, "指定使用者(S) 全站使用者(A) 取消(Q)?[S]", buf, sizeof(buf), LCECHO); if(buf[0] == 'q') return 1; else if( buf[0] == 'a') { diff --git a/mbbsd/announce.c b/mbbsd/announce.c index 280306dc..5920e45e 100644 --- a/mbbsd/announce.c +++ b/mbbsd/announce.c @@ -1,4 +1,4 @@ -/* $Id: announce.c,v 1.4 2002/04/15 20:00:22 in2 Exp $ */ +/* $Id: announce.c,v 1.5 2002/04/28 19:35:28 in2 Exp $ */ #include <stdio.h> #include <stdlib.h> #include <string.h> @@ -287,7 +287,7 @@ static int g_searchtitle(gmenu_t* pm, int rev) { static char search_str[30] = ""; int pos; - if(getdata(b_lines - 1, 1,"[搜尋]關鍵字:", search_str, 40, DOECHO)) + if(getdata(b_lines - 1, 1,"[搜尋]關鍵字:", search_str, sizeof(search_str), DOECHO)) if(!*search_str) return pm->now; @@ -438,7 +438,7 @@ static int a_searchtitle(menu_t *pm, int rev) { static char search_str[40] = ""; int pos; - getdata(b_lines - 1, 1, "[搜尋]關鍵字:", search_str, 40, DOECHO); + getdata(b_lines - 1, 1, "[搜尋]關鍵字:", search_str, sizeof(search_str), DOECHO); if(!*search_str) return pm->now; @@ -893,7 +893,7 @@ static void a_pasteitem(menu_t *pm, int mode) { } if(mode) { sprintf(buf, "確定要拷貝[%s]嗎(Y/N)?[N] ", copytitle); - getdata(b_lines - 1, 1, buf, ans, 3, LCECHO); + getdata(b_lines - 1, 1, buf, ans, sizeof(ans), LCECHO); } else ans[0]='y'; if(ans[0] == 'y') { @@ -959,7 +959,7 @@ static void a_appenditem(menu_t *pm, int isask) { if(isask) { sprintf(buf, "確定要將[%s]附加於此嗎(Y/N)?[N] ", copytitle); - getdata(b_lines - 2, 1, buf, ans, 3, LCECHO); + getdata(b_lines - 2, 1, buf, ans, sizeof(ans), LCECHO); } if(ans[0] == 'y') { if((fp = fopen(fname, "a+"))) { @@ -970,7 +970,7 @@ static void a_appenditem(menu_t *pm, int isask) { if(isask) getdata(b_lines - 1, 1, "是否收錄簽名檔部份(Y/N)?[Y] ", - ans, 3, LCECHO); + ans, sizeof(ans), LCECHO); while(fgets(buf, sizeof(buf), fin)) { if((ans[0] == 'n' ) && !strcmp(buf, "--\n")) @@ -1044,7 +1044,7 @@ static void a_moveitem(menu_t *pm) { int fail; sprintf(buf, "請輸入第 %d 選項的新次序:", pm->now + 1); - if(!getdata(b_lines - 1, 1, buf, newnum, 6, DOECHO)) + if(!getdata(b_lines - 1, 1, buf, newnum, sizeof(newnum), DOECHO)) return; num = (newnum[0] == '$') ? 9999 : atoi(newnum) - 1; if(num >= pm->num) @@ -1095,22 +1095,22 @@ static void a_delete(menu_t *pm) { if(pm->header[pm->now - pm->page].filename[0] == 'H' && pm->header[pm->now - pm->page].filename[1] == '.') { getdata(b_lines - 1, 1, "您確定要刪除此精華區連線嗎(Y/N)?[N] ", - ans, 3, LCECHO); + ans, sizeof(ans), LCECHO); if(ans[0] != 'y') return; if(delete_record(buf, FHSZ, pm->now + 1) == -1) return; } else if (dashl(fpath)) { getdata(b_lines - 1, 1, "您確定要刪除此 symbolic link 嗎(Y/N)?[N] ", - ans, 3, LCECHO); + ans, sizeof(ans), LCECHO); if(ans[0] != 'y') return; if(delete_record(buf, FHSZ, pm->now + 1) == -1) return; unlink(fpath); } else if(dashf(fpath)) { - getdata(b_lines - 1, 1, "您確定要刪除此檔案嗎(Y/N)?[N] ", ans, 3, - LCECHO); + getdata(b_lines - 1, 1, "您確定要刪除此檔案嗎(Y/N)?[N] ", ans, + sizeof(ans), LCECHO); if(ans[0] != 'y') return; if(delete_record(buf, FHSZ, pm->now + 1) == -1) @@ -1127,8 +1127,8 @@ static void a_delete(menu_t *pm) { setbdir(buf, "deleted"); append_record(buf, &backup, sizeof(backup)); } else if (dashd(fpath)) { - getdata(b_lines - 1, 1, "您確定要刪除整個目錄嗎(Y/N)?[N] ", ans, 3, - LCECHO); + getdata(b_lines - 1, 1, "您確定要刪除整個目錄嗎(Y/N)?[N] ", ans, + sizeof(ans), LCECHO); if(ans[0] != 'y') return; if(delete_record(buf, FHSZ, pm->now + 1) == -1) @@ -1147,7 +1147,7 @@ static void a_delete(menu_t *pm) { append_record(buf, &backup, sizeof(backup)); } else { /* Ptt 損毀的項目 */ getdata(b_lines - 1, 1, "您確定要刪除此損毀的項目嗎(Y/N)?[N] ", - ans, 3, LCECHO); + ans, sizeof(ans), LCECHO); if(ans[0] != 'y') return; if(delete_record(buf, FHSZ, pm->now + 1) == -1) @@ -1438,7 +1438,7 @@ int a_menu(char *maintitle, char *path, int lastlevel) { currstat == EDITEXP ? "要把範例 Plugin 到文章嗎?[y/N]": "確定要點這首歌嗎?[y/N]", - ans, 3, LCECHO); + ans, sizeof(ans), LCECHO); if(ans[0]=='y') { strcpy(trans_buffer,fname); Fexit = 1; diff --git a/mbbsd/bbcall.c b/mbbsd/bbcall.c index d7b2d33b..8fdc56d2 100644 --- a/mbbsd/bbcall.c +++ b/mbbsd/bbcall.c @@ -1,4 +1,4 @@ -/* $Id: bbcall.c,v 1.1 2002/03/07 15:13:48 in2 Exp $ */ +/* $Id: bbcall.c,v 1.2 2002/04/28 19:35:28 in2 Exp $ */ #include <stdio.h> #include <stdlib.h> #include <string.h> @@ -150,14 +150,14 @@ static void halpha0943(char* CoId) { int Year = 99, Month = 1, Day = 15, Hour = 13, Minute = 8; sprintf(tmpbuf, "\033[1;37m請輸入您要傳呼的號碼\033[m : %s-", CoId); - if(!getdata(7,0, tmpbuf, ID, 7, LCECHO) || + if(!getdata(7,0, tmpbuf, ID, sizeof(ID), LCECHO) || !getdata(8,0, "\033[1;37m請輸入傳呼訊息\033[m:", tmpbuf, 63, LCECHO)) { hpressanykey("放棄傳呼"); return; } pager_msg_encode(Msg,tmpbuf); getdata(9, 0, "\033[1;37m如果你要馬上送請按 '1' " - "如果要定時送請按 '2': \033[m", ans, 2, LCECHO); + "如果要定時送請按 '2': \033[m", ans, sizeof(ans), LCECHO); if(ans[0] != '1') gettime(0, &Year, &Month, &Day, &Hour, &Minute); @@ -179,14 +179,14 @@ static void hcall0941() { int year = 98, month = 12, day = 4, hour = 13, min = 8; if(!getdata(7, 0, "\033[1;37 請您輸入您要傳呼的號碼 : 0941- \033[m", - PAGER_NO, 7, LCECHO) || + PAGER_NO, sizeof(PAGER_NO), LCECHO) || !getdata(8, 0, "\033[1;37m請輸入傳呼訊息\033[m:", trn, 17, LCECHO)) { hpressanykey("放棄傳呼"); return; } pager_msg_encode(TRAN_MSG,trn); getdata(9,0, "\033[1;37m如果你要馬上送請按 '1' " - "如果要定時送請按 '2': \033[m", ans, 2, LCECHO); + "如果要定時送請按 '2': \033[m", ans, sizeof(ans), LCECHO); if(ans[0] != '1') { strcpy(TIME,"DELAY"); gettime(0, &year, &month, &day, &hour, &min); @@ -212,14 +212,14 @@ static void hcall0948() { clrtoeol(); if(!getdata(7, 0, "\033[1;37m請輸入您要傳呼的號碼\033[m:0948-", - svc_no, 7, LCECHO) || + svc_no, sizeof(svc_no), LCECHO) || !getdata(8, 0, "\033[1;37m請輸入傳呼訊息\033[m:", trn, 61, LCECHO)) { hpressanykey("放棄傳呼"); return; } pager_msg_encode(message, trn); getdata(9, 0, "\033[1;37m如果你要馬上送請按 '1' " - "如果要定時送請按 '2'\033[m: ", ans, 2, LCECHO); + "如果要定時送請按 '2'\033[m: ", ans, sizeof(ans), LCECHO); if(ans[0] != '1') { gettime(1, &year, &month, &day, &hour, &min); ya = 1; @@ -248,7 +248,7 @@ int main_bbcall() { " (4)0948 \033[m\n"); prints("\033[1;31m └────────────────────" "─────────┘\033[m\n"); - getdata(7, 8, "\033[1;37m你的選擇? [1-4]\033[m", ch, 2, LCECHO); + getdata(7, 8, "\033[1;37m你的選擇? [1-4]\033[m", ch, sizeof(ch), LCECHO); switch(ch[0]) { case '1': diff --git a/mbbsd/bbs.c b/mbbsd/bbs.c index 15db1c91..28322370 100644 --- a/mbbsd/bbs.c +++ b/mbbsd/bbs.c @@ -1,4 +1,4 @@ -/* $Id: bbs.c,v 1.1 2002/03/07 15:13:48 in2 Exp $ */ +/* $Id: bbs.c,v 1.2 2002/04/28 19:35:28 in2 Exp $ */ #include <stdio.h> #include <stdlib.h> #include <string.h> @@ -88,7 +88,7 @@ int save_violatelaw() { "已經造成很多人的不便\033[m\n"); prints("\033[1;37m你是否確定以後不會再犯了?\033[m\n"); - if(!getdata(10,0,"確定嗎?[y/n]:", ok, 2, LCECHO) || + if(!getdata(10,0,"確定嗎?[y/n]:", ok, sizeof(ok), LCECHO) || ok[0] == 'n' || ok[0] == 'N') { mprints(22,0,"\033[1;31m等你想通了再來吧!! " "我相信你不會知錯不改的~~~\033[m"); @@ -100,7 +100,7 @@ int save_violatelaw() { cuser.vl_count, cuser.vl_count*1000); mprints(11,0,buf); - if(!getdata(10, 0, "要付錢[y/n]:", ok, 2, LCECHO) || + if(!getdata(10, 0, "要付錢[y/n]:", ok, sizeof(ok), LCECHO) || ok[0] == 'N' || ok[0] == 'n') { mprints(22,0, "\033[1;31m 嗯 存夠錢 再來吧!!!\033[m"); @@ -1347,9 +1347,9 @@ static int tar_addqueue(int ent, fileheader_t *fhdr, char *direct) { return FULLUPDATE; } - getdata(6, 0, "要備份看版內容嗎(Y/N)?[Y]", ans, 2, LCECHO); + getdata(6, 0, "要備份看版內容嗎(Y/N)?[Y]", ans, sizeof(ans), LCECHO); bakboard = (ans[0] == 'n' || ans[0] =='N') ? 0 : 1; - getdata(7, 0, "要備份精華區內容嗎(Y/N)?[N]", ans, 2, LCECHO); + getdata(7, 0, "要備份精華區內容嗎(Y/N)?[N]", ans, sizeof(ans), LCECHO); bakman = (ans[0] == 'y' || ans[0] =='Y') ? 1 : 0; if( !bakboard && !bakman ){ move(8, 0); @@ -1513,7 +1513,7 @@ static int b_post_note() { if(currmode & MODE_BOARD) { setbfile(buf, currboard, FN_POST_NOTE ); if(more(buf,NA) == -1) more("etc/"FN_POST_NOTE , NA); - getdata(b_lines - 2, 0, "是否要用自訂post注意事項?", yn, 3, LCECHO); + getdata(b_lines - 2, 0, "是否要用自訂post注意事項?", yn, sizeof(yn), LCECHO); if(yn[0] == 'y') vedit(buf, NA, NULL); else @@ -1551,8 +1551,8 @@ static int bh_title_edit() { bp = getbcache(currbid); move(1,0); clrtoeol(); - getdata_str(1,0,"請輸入看板新中文敘述:", genbuf,BTLEN - - 16,DOECHO, bp->title + 7); + getdata_str(1,0,"請輸入看板新中文敘述:", genbuf, + BTLEN - 16, DOECHO, bp->title + 7); if(!genbuf[0]) return 0; @@ -1753,11 +1753,12 @@ static int change_hidden(int ent, fileheader_t *fhdr, char *direct) return DONOTHING; if( ((bh.brdattr & BRD_HIDE) && (bh.brdattr & BRD_POSTMASK)) ){ - getdata(1, 0, "目前板在隱形狀態, 要解隱形嘛(Y/N)?[N]", ans, 2, LCECHO); + getdata(1, 0, "目前板在隱形狀態, 要解隱形嘛(Y/N)?[N]", + ans, sizeof(ans), LCECHO); if( ans[0] != 'y' && ans[0] != 'Y' ) return FULLUPDATE; getdata(2, 0, "再確認一次, 真的要把板板公開嘛 @____@(Y/N)?[N]", - ans, 2, LCECHO); + ans, sizeof(ans), LCECHO); if( ans[0] != 'y' && ans[0] != 'Y' ) return FULLUPDATE; if( bh.brdattr & BRD_HIDE ) bh.brdattr -= BRD_HIDE; @@ -1768,7 +1769,8 @@ static int change_hidden(int ent, fileheader_t *fhdr, char *direct) hbflreload(bid); } else{ - getdata(1, 0, "目前板在現形狀態, 要隱形嘛(Y/N)?[N]", ans, 2, LCECHO); + getdata(1, 0, "目前板在現形狀態, 要隱形嘛(Y/N)?[N]", + ans, sizeof(ans), LCECHO); if( ans[0] != 'y' && ans[0] != 'Y' ) return FULLUPDATE; bh.brdattr |= BRD_HIDE; diff --git a/mbbsd/board.c b/mbbsd/board.c index e97d6e3f..923bea0a 100644 --- a/mbbsd/board.c +++ b/mbbsd/board.c @@ -1,4 +1,4 @@ -/* $Id: board.c,v 1.4 2002/04/15 20:00:22 in2 Exp $ */ +/* $Id: board.c,v 1.5 2002/04/28 19:35:28 in2 Exp $ */ #include <stdio.h> #include <stdlib.h> #include <string.h> @@ -837,7 +837,8 @@ static void choose_board(int newflag) { show_brdlist(head, 1, newflag); break; case '/': - getdata_buf(b_lines-1,0,"請輸入看板中文關鍵字:",keyword, 12, DOECHO); + getdata_buf(b_lines-1,0,"請輸入看板中文關鍵字:", + keyword, sizeof(keyword), DOECHO); brdnum=-1; break; case 'S': diff --git a/mbbsd/cache.c b/mbbsd/cache.c index 03092a2f..dd00d010 100644 --- a/mbbsd/cache.c +++ b/mbbsd/cache.c @@ -1,4 +1,4 @@ -/* $Id: cache.c,v 1.20 2002/04/20 07:31:46 in2 Exp $ */ +/* $Id: cache.c,v 1.21 2002/04/28 19:35:28 in2 Exp $ */ #include <stdio.h> #include <stdlib.h> #include <string.h> @@ -980,7 +980,6 @@ void resolve_fcache() { extern time_t login_start_time; extern char *fn_visable; -FILE *DEBUG = NULL; void hbflreload(int bid) { diff --git a/mbbsd/cal.c b/mbbsd/cal.c index 680ee9d6..6603925e 100644 --- a/mbbsd/cal.c +++ b/mbbsd/cal.c @@ -1,4 +1,4 @@ -/* $Id: cal.c,v 1.1 2002/03/07 15:13:48 in2 Exp $ */ +/* $Id: cal.c,v 1.2 2002/04/28 19:35:28 in2 Exp $ */ #include <stdio.h> #include <stdlib.h> #include <string.h> @@ -100,7 +100,7 @@ extern char save_title[]; static int osong(char *defaultid) { char destid[IDLEN + 1],buf[200],genbuf[200],filename[256],say[51]; - char receiver[60],ano[2]; + char receiver[45],ano[2]; FILE *fp,*fp1;// *fp2; fileheader_t mail; time_t now; @@ -136,30 +136,31 @@ static int osong(char *defaultid) { outs(buf); trans_buffer[0] = 0; if(!defaultid){ - getdata(13, 0, "要點給誰呢:[可直接按 Enter 先選歌]", destid, IDLEN + 1, DOECHO); + getdata(13, 0, "要點給誰呢:[可直接按 Enter 先選歌]", + destid, sizeof(destid), DOECHO); while (!destid[0]){ a_menu("點歌歌本", SONGBOOK,0 ); clear(); - getdata(13, 0, "要點給誰呢:[可按 Enter 重新選歌]", destid, IDLEN + 1, DOECHO); + getdata(13, 0, "要點給誰呢:[可按 Enter 重新選歌]", + destid, sizeof(destid), DOECHO); } } else strcpy(destid,defaultid); /* Heat:點歌者匿名功能 */ - getdata(14,0, "要匿名嗎?[y/n]:", ano, 2, DOECHO); + getdata(14,0, "要匿名嗎?[y/n]:", ano, sizeof(ano), DOECHO); if(!destid[0]) { unlockutmpmode(); return 0; } - getdata_str(14, 0, "想要要對他(她)說..:", say, 51, DOECHO, "我愛妳.."); + getdata_str(14, 0, "想要要對他(她)說..:", say, + sizeof(say), DOECHO, "我愛妳.."); sprintf(save_title, "%s:%s", (ano[0]=='y')?"匿名者":cuser.userid, say); - getdata_str(16, 0, "寄到誰的信箱(可用E-mail)?", receiver, 45, - LCECHO, destid); - - + getdata_str(16, 0, "寄到誰的信箱(可用E-mail)?", + receiver, sizeof(receiver), LCECHO, destid); if (!trans_buffer[0]){ outs("\n接著要選歌囉..進入歌本好好的選一首歌吧..^o^"); @@ -278,7 +279,7 @@ int p_cloak() { char buf[4]; getdata(b_lines-1, 0, currutmp->invisible ? "確定要現身?[y/N]" : "確定要隱身?[y/N]", - buf, 3, LCECHO); + buf, sizeof(buf), LCECHO); if(buf[0] != 'y') return 0; if(cuser.money >= 19) { @@ -295,14 +296,14 @@ int p_cloak() { int p_from() { char ans[4]; - getdata(b_lines-2, 0, "確定要改故鄉?[y/N]", ans, 3, LCECHO); + getdata(b_lines-2, 0, "確定要改故鄉?[y/N]", ans, sizeof(ans), LCECHO); if(ans[0] != 'y') return 0; reload_money(); if(cuser.money < 49) return 0; if(getdata_buf(b_lines-1, 0, "請輸入新故鄉:", - currutmp->from, 17, DOECHO)) { + currutmp->from, sizeof(currutmp->from), DOECHO)) { vice(49,"home"); currutmp->from_alias=0; } @@ -322,7 +323,7 @@ int p_exmail() { sprintf(buf,"您曾增購 %d 封容量,還要再買多少?", cuser.exmailbox); - getdata_str(b_lines-2, 0, buf, ans, 3, LCECHO, "10"); + getdata_str(b_lines-2, 0, buf, ans, sizeof(ans), LCECHO, "10"); n = atoi(ans); if(!ans[0] || !n) diff --git a/mbbsd/card.c b/mbbsd/card.c index cfa10b0c..66aeded8 100644 --- a/mbbsd/card.c +++ b/mbbsd/card.c @@ -1,4 +1,4 @@ -/* $Id: card.c,v 1.1 2002/03/07 15:13:48 in2 Exp $ */ +/* $Id: card.c,v 1.2 2002/04/28 19:35:28 in2 Exp $ */ #include <stdio.h> #include <stdlib.h> #include <sys/types.h> @@ -357,7 +357,7 @@ static int card_double_ask() { reload_money(); if(cuser.money < JACK) return 0; - getdata(20, 0, buf, buf2, 2, LCECHO); + getdata(20, 0, buf, buf2, sizeof(buf2), LCECHO); if(buf2[0] == 'y' || buf2[0] == 'Y') return 1; return 0; @@ -368,7 +368,7 @@ static int card_ask() { sprintf(buf, "[ %s ]您現在共有 %d P幣, 還要加牌嗎? [y/N]", cuser.userid, cuser.money); - getdata(20, 0 , buf, buf2, 2, LCECHO); + getdata(20, 0 , buf, buf2, sizeof(buf2), LCECHO); if(buf2[0] == 'y' || buf2[0] == 'Y') return 1; return 0; diff --git a/mbbsd/chat.c b/mbbsd/chat.c index f75383a8..4825379b 100644 --- a/mbbsd/chat.c +++ b/mbbsd/chat.c @@ -1,4 +1,4 @@ -/* $Id: chat.c,v 1.1 2002/03/07 15:13:48 in2 Exp $ */ +/* $Id: chat.c,v 1.2 2002/04/28 19:35:28 in2 Exp $ */ #include <stdio.h> #include <stdlib.h> #include <string.h> @@ -594,7 +594,7 @@ int t_chat() { fclose(flog); more(fpath, NA); getdata(b_lines - 1, 0, "清除(C) 移至備忘錄(M) (C/M)?[C]", - ans, 4, LCECHO); + ans, sizeof(ans), LCECHO); if (*ans == 'm') { fileheader_t mymail; char title[128]; diff --git a/mbbsd/chicken.c b/mbbsd/chicken.c index f789925f..f13b68dc 100644 --- a/mbbsd/chicken.c +++ b/mbbsd/chicken.c @@ -1,4 +1,4 @@ -/* $Id: chicken.c,v 1.1 2002/03/07 15:13:48 in2 Exp $ */ +/* $Id: chicken.c,v 1.2 2002/04/28 19:35:29 in2 Exp $ */ #include <stdio.h> #include <stdlib.h> #include <string.h> @@ -137,7 +137,8 @@ static int new_chicken() { } vice(price,"寵物蛋"); while(strlen(mychicken->name)<3) - getdata(8, 0, "幫牠取個好名字:", mychicken->name, 18, DOECHO); + getdata(8, 0, "幫牠取個好名字:", mychicken->name, + sizeof(mychicken->name), DOECHO); now = time(NULL); sprintf(buf,"\033[31m%s \033[m養了一隻叫\033[33m %s \033[m的 " @@ -367,7 +368,8 @@ void ch_buyitem(int money, char *picture, int *item) { int num = 0; char buf[5]; - getdata_str(b_lines - 1, 0, "要買多少份呢:", buf, 4, DOECHO, "1"); + getdata_str(b_lines - 1, 0, "要買多少份呢:", + buf, sizeof(buf), DOECHO, "1"); num = atoi(buf); if(num < 1) return; @@ -414,7 +416,7 @@ static void ch_kill() { sprintf(buf, "棄養這%s要被罰 100 元, 是否要棄養?(y/N)", chicken_type[(int)mychicken->type]); - getdata_str(23, 0, buf, ans, 3, DOECHO, "N"); + getdata_str(23, 0, buf, ans, sizeof(ans), DOECHO, "N"); if(ans[0] == 'y') { time_t now = time(NULL); @@ -476,7 +478,7 @@ static int ch_sell() { sprintf(buf, "這隻%d歲%s可以賣 %d 元, 是否要賣?(y/N)", age, chicken_type[(int)mychicken->type], money); - getdata_str(23, 0, buf, ans, 3, DOECHO, "N"); + getdata_str(23, 0, buf, ans, sizeof(ans), DOECHO, "N"); if(ans[0]=='y') { sprintf(buf, "\033[31m%s\033[m 把 \033[33m%s\033[m " "\033[32m%s\033[m 用 \033[36m%d\033[m 賣了 於 %s", diff --git a/mbbsd/dice.c b/mbbsd/dice.c index d64ce63c..e4aa8869 100644 --- a/mbbsd/dice.c +++ b/mbbsd/dice.c @@ -1,4 +1,4 @@ -/* $Id: dice.c,v 1.1 2002/03/07 15:13:48 in2 Exp $ */ +/* $Id: dice.c,v 1.2 2002/04/28 19:35:29 in2 Exp $ */ #include <stdio.h> #include <stdlib.h> #include <string.h> @@ -351,7 +351,7 @@ int dice_main(void) { if(cuser.money < 10) break; getdata(21, 0, "\033[1;32m賭多少錢呢\033[1;37m(大於10 小於500)" - "\033[m: ", input, 9, LCECHO); + "\033[m: ", input, sizeof(input), LCECHO); if(!(money = IsLegal(input))||input[0] == '0') continue; reload_money(); diff --git a/mbbsd/edit.c b/mbbsd/edit.c index 0b372209..79ecf7f6 100644 --- a/mbbsd/edit.c +++ b/mbbsd/edit.c @@ -1,4 +1,4 @@ -/* $Id: edit.c,v 1.4 2002/04/27 15:50:17 in2 Exp $ */ +/* $Id: edit.c,v 1.5 2002/04/28 19:35:29 in2 Exp $ */ #include <stdio.h> #include <stdlib.h> #include <string.h> @@ -502,7 +502,7 @@ static void read_tmpbuf(int n) { setuserfile(fp_tmpbuf, tmpf); if(n != 0 && n != 5 && more(fp_tmpbuf, NA) != -1) - getdata(b_lines - 1, 0, "確定讀入嗎(Y/N)?[Y]", ans, 4, LCECHO); + getdata(b_lines - 1, 0, "確定讀入嗎(Y/N)?[Y]", ans, sizeof(ans), LCECHO); if(*ans != 'n' && (fp = fopen(fp_tmpbuf, "r"))) { prevln = currln; prevpnt = currpnt; @@ -523,7 +523,7 @@ static void write_tmpbuf() { if(dashf(fp_tmpbuf)) { more(fp_tmpbuf, NA); getdata(b_lines - 1, 0, "暫存檔已有資料 (A)附加 (W)覆寫 (Q)取消?[A] ", - ans, 4, LCECHO); + ans, sizeof(ans), LCECHO); if(ans[0] == 'q') return; @@ -544,7 +544,8 @@ static void erase_tmpbuf() { setuserfile(fp_tmpbuf, ask_tmpbuf(3)); if(more(fp_tmpbuf, NA) != -1) - getdata(b_lines - 1, 0, "確定刪除嗎(Y/N)?[N]", ans, 4, LCECHO); + getdata(b_lines - 1, 0, "確定刪除嗎(Y/N)?[N]", + ans, sizeof(ans), LCECHO); if(*ans == 'y') unlink(fp_tmpbuf); } @@ -706,7 +707,8 @@ static int check_quote() { { char ans[4]; - getdata(12, 12, "(E)繼續編輯 (W)強制寫入?[E] ", ans, 4, LCECHO); + getdata(12, 12, "(E)繼續編輯 (W)強制寫入?[E] ", + ans, sizeof(ans), LCECHO); if(ans[0] == 'w') return 0; } @@ -760,10 +762,10 @@ void write_header(FILE *fp) { int defanony = (currbrdattr & BRD_DEFAULTANONYMOUS); if(defanony) getdata(3, 0, "請輸入你想用的ID,也可直接按[Enter]," - "或是按[r]用真名:", real_name, 12, DOECHO); + "或是按[r]用真名:", real_name, sizeof(real_name), DOECHO); else getdata(3, 0, "請輸入你想用的ID,也可直接按[Enter]使用原ID:", - real_name, 12, DOECHO); + real_name, sizeof(real_name), DOECHO); if(!real_name[0] && defanony) { strcpy(real_name, "Anonymous"); strcpy(postlog.author, real_name); @@ -893,7 +895,7 @@ write_file(char *fpath, int saveheader, int *islocal) { else msg = "[S]儲存 (L)站內信件 (A)放棄 (T)改標題 (E)繼續 " "(R/W/D)讀寫刪暫存檔?"; - getdata(1, 0, msg, ans, 3, LCECHO); + getdata(1, 0, msg, ans, 2, LCECHO); switch(ans[0]) { case 'a': @@ -915,7 +917,7 @@ write_file(char *fpath, int saveheader, int *islocal) { move(3, 0); prints("舊標題:%s", save_title); strcpy(ans,save_title); - if(getdata_buf(4, 0, "新標題:", ans, TTLEN, DOECHO)) + if(getdata_buf(4, 0, "新標題:", ans, sizeof(ans), DOECHO)) strcpy(save_title, ans); return KEEP_EDITING; case 's': @@ -1094,7 +1096,7 @@ static void goto_line(int lino) { char buf[10]; if(lino > 0 || - (getdata(b_lines - 1, 0, "跳至第幾行:", buf, 10, DOECHO) && + (getdata(b_lines - 1, 0, "跳至第幾行:", buf, sizeof(buf), DOECHO) && sscanf(buf, "%d", &lino) && lino > 0)) { textline_t* p; @@ -1148,16 +1150,17 @@ char *strcasestr(const char* big, const char* little) { -1: backward */ static void search_str(int mode) { - static char str[80]; + static char str[65]; typedef char* (*FPTR)(); static FPTR fptr; char ans[4] = "n"; if(!mode) { - if(getdata_buf(b_lines - 1, 0,"[搜尋]關鍵字:",str, 65, DOECHO)) + if(getdata_buf(b_lines - 1, 0,"[搜尋]關鍵字:", + str, sizeof(str), DOECHO)) if(*str) { if(getdata(b_lines - 1, 0, "區分大小寫(Y/N/Q)? [N] ", - ans, 4, LCECHO) && *ans == 'y') + ans, sizeof(ans), LCECHO) && *ans == 'y') fptr = strstr; else fptr = strcasestr; @@ -1351,7 +1354,7 @@ static void block_del(int hide) { if(tmpfname[4] != '5' && dashf(fp_tmpbuf)) { more(fp_tmpbuf, NA); getdata(b_lines - 1, 0, "暫存檔已有資料 (A)附加 (W)覆寫 " - "(Q)取消?[W] ", ans, 4, LCECHO); + "(Q)取消?[W] ", ans, 2, LCECHO); if(*ans == 'q') tmpfname[4] = 'q'; else if(*ans != 'a') @@ -1752,7 +1755,7 @@ int vedit(char *fpath, int saveheader, int *islocal) { "\033[45mP\033[46mC\033[47mW\033[m"); if(getdata(b_lines - 1, 0, "請輸入 亮度/前景/背景[正常白字黑底][0wb]:", - ans, 4, LCECHO)) { + ans, sizeof(ans), LCECHO)) { char t[] = "BRGYLPCW"; char color[15]; char *tmp, *apos = ans; @@ -2112,7 +2115,7 @@ int vedit(char *fpath, int saveheader, int *islocal) { getdata(b_lines - 1, 0, "區塊微調右移插入字元(預設為空白字元)", - ans, 4, LCECHO); + ans, sizeof(ans), LCECHO); insert_c = (*ans) ? *ans : ' '; } insert_character ^= 1; diff --git a/mbbsd/friend.c b/mbbsd/friend.c index fef3fabc..bac0674e 100644 --- a/mbbsd/friend.c +++ b/mbbsd/friend.c @@ -1,4 +1,4 @@ -/* $Id: friend.c,v 1.4 2002/04/09 20:31:50 in2 Exp $ */ +/* $Id: friend.c,v 1.5 2002/04/28 19:35:29 in2 Exp $ */ #include <stdio.h> #include <string.h> #include <stdlib.h> @@ -124,7 +124,7 @@ void friend_add(char *uident, int type) { strcpy(t_uident, uident); if (type != FRIEND_ALOHA && type != FRIEND_POST) - getdata(2, 0, friend_desc[type], buf, 40, DOECHO); + getdata(2, 0, friend_desc[type], buf, sizeof(buf), DOECHO); if ((fp = fopen(fpath, "a"))) { @@ -445,12 +445,13 @@ void friend_edit(int type) { } else if (*uident == 'w' && count) { - if (!getdata(0, 0, "群體水球:", uident, 60, DOECHO)) + char wall[60]; + if (!getdata(0, 0, "群體水球:", uident, sizeof(wall), DOECHO)) continue; if (getdata(0, 0, "確定丟出群體水球? [Y]", line, 4, LCECHO) && *line == 'n') continue; - friend_water(uident, type); + friend_water(wall, type); } else break; diff --git a/mbbsd/gomo.c b/mbbsd/gomo.c index 06062ce4..41650c77 100644 --- a/mbbsd/gomo.c +++ b/mbbsd/gomo.c @@ -1,4 +1,4 @@ -/* $Id: gomo.c,v 1.1 2002/03/07 15:13:48 in2 Exp $ */ +/* $Id: gomo.c,v 1.2 2002/04/28 19:35:29 in2 Exp $ */ #include <stdio.h> #include <stdlib.h> #include <unistd.h> @@ -131,7 +131,7 @@ static int gomo_key(int fd, int ch, Horder_t *mv) { *pbuf = ch; if(fd) add_io(0, 0); - oldgetdata(17, 0, "直接指定位置 :", pbuf, 4, DOECHO); + oldgetdata(17, 0, "直接指定位置 :", pbuf, sizeof(pbuf), DOECHO); if(fd) add_io(fd, 0); vx = pbuf[0] - 'a'; @@ -409,7 +409,7 @@ int gomoku(int fd) { if(v > pool) { char ans[4]; - getdata(19 , 0, "要保留本局成棋譜嗎?(y/N)", ans, 4, LCECHO); + getdata(19 , 0, "要保留本局成棋譜嗎?(y/N)", ans, sizeof(ans), LCECHO); if(*ans == 'y') HO_log(my->mateid); } diff --git a/mbbsd/guess.c b/mbbsd/guess.c index 27a337f7..c24b8361 100644 --- a/mbbsd/guess.c +++ b/mbbsd/guess.c @@ -1,4 +1,4 @@ -/* $Id: guess.c,v 1.1 2002/03/07 15:13:48 in2 Exp $ */ +/* $Id: guess.c,v 1.2 2002/04/28 19:35:29 in2 Exp $ */ #include <stdio.h> #include <stdlib.h> #include <sys/types.h> @@ -84,7 +84,7 @@ static int check_data(char *str) { static char *get_data(int count) { static char data[5]; while(1) { - getdata(6, 0, "輸入四位數字(不重複): ", data, 5, LCECHO); + getdata(6, 0, "輸入四位數字(不重複): ", data, sizeof(data), LCECHO); if(check_data(data) == 1) break; } @@ -209,7 +209,7 @@ int guess_main() { unsigned long int money; char computerwin = 0,youwin = 0; int count = 0,c_count = 0; - char ifcomputer; + char ifcomputer[2]; char answer[5]; int *n = NULL; char yournum[5]; @@ -239,18 +239,19 @@ int guess_main() { clrtoeol(); prints("您下注 :%d Ptt$", money); - getdata_str(4, 0, "您要和電腦比賽嗎? <y/n>[y]:", &ifcomputer, 2, - LCECHO, "y"); - if(ifcomputer == 'y') { - ifcomputer = 1; + getdata_str(4, 0, "您要和電腦比賽嗎? <y/n>[y]:", + ifcomputer, sizeof(ifcomputer), LCECHO, "y"); + if(ifcomputer[0] == 'y') { + ifcomputer[0] = 1; show_table(TABLE, 1); } else { - ifcomputer = 0; + ifcomputer[0] = 0; show_table(TABLE, 0); } - if(ifcomputer) { + if(ifcomputer[0]) { do { - getdata(5, 0, "請輸入您要讓電腦猜的數字: ", yournum, 5, LCECHO); + getdata(5, 0, "請輸入您要讓電腦猜的數字: ", + yournum, sizeof(yournum), LCECHO); } while(!legal(atoi(yournum))); move(8, 25); prints("電腦猜"); @@ -260,9 +261,9 @@ int guess_main() { } move(8, 55); prints("你猜"); - while(((!computerwin || !youwin) && count <10 && (ifcomputer)) || - (!ifcomputer && count < 10 && !youwin)) { - if(!computerwin && ifcomputer) { + while(((!computerwin || !youwin) && count <10 && (ifcomputer[0])) || + (!ifcomputer[0] && count < 10 && !youwin)) { + if(!computerwin && ifcomputer[0]) { ++c_count; if(computer(atoi(yournum), c_count, flag, n)) computerwin = 1; @@ -276,7 +277,7 @@ int guess_main() { } } move(17, 35); - if(ifcomputer) { + if(ifcomputer[0]) { free(flag); free(n); if(count > c_count) { diff --git a/mbbsd/indict.c b/mbbsd/indict.c index 407b5ae9..51e20590 100644 --- a/mbbsd/indict.c +++ b/mbbsd/indict.c @@ -1,4 +1,4 @@ -/* $Id: indict.c,v 1.1 2002/03/07 15:13:48 in2 Exp $ */ +/* $Id: indict.c,v 1.2 2002/04/28 19:35:29 in2 Exp $ */ #include <stdio.h> #include <string.h> #include <sys/types.h> @@ -29,7 +29,7 @@ static void addword(char word[]) { outs("\n請依上列範例輸入一行資料(直接enter放棄)\n"); getdata(10, 0, ":", buf, 65, DOECHO); if(buf[0]) { - getdata(13, 0, "確定新增?(Y/n)", a, 2, LCECHO); + getdata(13, 0, "確定新增?(Y/n)", a, sizeof(a), LCECHO); if(a[0] != 'n') fprintf(fp, "%-65s[%s]\n", buf, cuser.userid); } @@ -1,4 +1,4 @@ -/* $Id: io.c,v 1.8 2002/03/29 16:22:53 ptt Exp $ */ +/* $Id: io.c,v 1.9 2002/04/28 19:35:29 in2 Exp $ */ #include <stdio.h> #include <stdlib.h> #include <string.h> @@ -547,14 +547,14 @@ getans(char *prompt) { char ans[5]; - getdata(t_lines-1, 0, prompt, ans, 4, LCECHO); + getdata(t_lines-1, 0, prompt, ans, sizeof(ans), LCECHO); return ans[0]; } int getdata_str(int line, int col, char *prompt, char *buf, int len, int echo, char *defaultstr) { strncpy(buf, defaultstr, len); - buf[len] = 0; + buf[len - 1] = 0; return oldgetdata(line, col, prompt, buf, len, echo); } diff --git a/mbbsd/lovepaper.c b/mbbsd/lovepaper.c index 52e8cbd5..92330db7 100644 --- a/mbbsd/lovepaper.c +++ b/mbbsd/lovepaper.c @@ -1,4 +1,4 @@ -/* $Id: lovepaper.c,v 1.1 2002/03/07 15:13:48 in2 Exp $ */ +/* $Id: lovepaper.c,v 1.2 2002/04/28 19:35:29 in2 Exp $ */ #include <stdio.h> #include <stdlib.h> #include <string.h> @@ -36,10 +36,11 @@ int x_love() { outs("\n歡迎使用情書產生器 v0.00 版 \n"); outs("有何難以啟齒的話,交由系統幫你說吧.\n爸爸說 : 濫情不犯法.\n"); - if(!getdata(7, 0, "收信人:", receiver, 60, DOECHO)) return 0; + if(!getdata(7, 0, "收信人:", receiver, sizeof(receiver), DOECHO)) + return 0; if(receiver[0] && !(searchuser(receiver) && getdata(8, 0, "主 題:", save_title, - TTLEN, DOECHO))) { + sizeof(save_title), DOECHO))) { move(10, 0); outs("收信人或主題不正確, 情書無法傳遞. "); pressanykey(); diff --git a/mbbsd/mail.c b/mbbsd/mail.c index 4a9395fa..bc6ff7b3 100644 --- a/mbbsd/mail.c +++ b/mbbsd/mail.c @@ -1,4 +1,4 @@ -/* $Id: mail.c,v 1.2 2002/03/24 18:25:48 in2 Exp $ */ +/* $Id: mail.c,v 1.3 2002/04/28 19:35:29 in2 Exp $ */ #include <stdio.h> #include <stdlib.h> #include <string.h> @@ -61,9 +61,9 @@ int setforward() { fclose(fp); } getdata_buf(b_lines - 1, 0, "請輸入信箱自動轉寄的email地址:", - ip, 41, DOECHO); + ip, sizeof(ip), DOECHO); if(ip[0] && ip[0] != ' ') { - getdata(b_lines, 0, "確定開啟自動轉信功\能?(Y/n)", yn, 3, + getdata(b_lines, 0, "確定開啟自動轉信功\能?(Y/n)", yn, sizeof(yn), LCECHO); if(yn[0] != 'n' && (fp = fopen(buf, "w"))) { move(b_lines,0); @@ -149,9 +149,9 @@ int invalidaddr(char *addr) { int m_internet() { char receiver[60]; - getdata(20, 0, "收信人:", receiver, 60, DOECHO); + getdata(20, 0, "收信人:", receiver, sizeof(receiver), DOECHO); if(strchr(receiver, '@') && !invalidaddr(receiver) && - getdata(21, 0, "主 題:", save_title, TTLEN, DOECHO)) + getdata(21, 0, "主 題:", save_title, STRLEN, DOECHO)) do_send(receiver, save_title); else { move(22, 0); @@ -245,7 +245,7 @@ void hold_mail(char *fpath, char *receiver) { char buf[4]; getdata(b_lines - 1, 0, "已順利寄出,是否自存底稿(Y/N)?[N] ", - buf, 4, LCECHO); + buf, sizeof(buf), LCECHO); if(buf[0] == 'y') do_hold_mail(fpath, receiver, cuser.userid); @@ -268,7 +268,7 @@ int do_send(char *userid, char *title) { return -3; if(!title) - getdata(2, 0, "主題:", save_title, TTLEN, DOECHO); + getdata(2, 0, "主題:", save_title, STRLEN, DOECHO); curredit |= EDIT_MAIL; curredit &= ~EDIT_ITEM; } @@ -485,7 +485,7 @@ static void multi_send(char *title) { if(title) do_reply_title(2, title); else { - getdata(2, 0, "主題:", fpath, 64, DOECHO); + getdata(2, 0, "主題:", fpath, sizeof(fpath), DOECHO); sprintf(save_title, "[通告] %s", fpath); } @@ -588,7 +588,7 @@ int mail_all() { stand_title("給所有使用者的系統通告"); setutmpmode(SMAIL); - getdata(2, 0, "主題:", fpath, 64, DOECHO); + getdata(2, 0, "主題:", fpath, sizeof(fpath), DOECHO); sprintf(save_title, "[系統通告]\033[1;32m %s\033[m", fpath); setuserfile(fpath, fn_notes); @@ -1139,7 +1139,7 @@ static int mail_cross_post(int ent, fileheader_t *fhdr, char *direct) { strcpy(xtitle, fhdr->title); sprintf(genbuf, "採用原標題《%.60s》嗎?[Y] ", xtitle); - getdata(2, 0, genbuf, genbuf2, 4, LCECHO); + getdata(2, 0, genbuf, genbuf2, sizeof(genbuf2), LCECHO); if(*genbuf2 == 'n') if(getdata(2, 0, "標題:", genbuf, TTLEN, DOECHO)) strcpy(xtitle, genbuf); diff --git a/mbbsd/mbbsd.c b/mbbsd/mbbsd.c index e7a2f84d..496ea00f 100644 --- a/mbbsd/mbbsd.c +++ b/mbbsd/mbbsd.c @@ -1,4 +1,4 @@ -/* $Id: mbbsd.c,v 1.23 2002/04/28 14:29:26 in2 Exp $ */ +/* $Id: mbbsd.c,v 1.24 2002/04/28 19:35:29 in2 Exp $ */ #include <stdio.h> #include <string.h> #include <stdlib.h> @@ -601,7 +601,7 @@ login_query () exit (1); } getdata (20, 0, "請輸入代號,或以[guest]參觀,以[new]註冊:", - uid, IDLEN + 1, DOECHO); + uid, sizeof(uid), DOECHO); if (strcasecmp (uid, str_new) == 0){ #ifdef LOGINASNEW new_register (); @@ -615,7 +615,7 @@ login_query () outs (err_uid); } else if (strcmp (uid, STR_GUEST)){ - getdata (21, 0, MSG_PASSWD, passbuf, PASSLEN, NOECHO); + getdata (21, 0, MSG_PASSWD, passbuf, sizeof(passbuf), NOECHO); passbuf[8] = '\0'; if (!checkpasswd (cuser.passwd, passbuf) diff --git a/mbbsd/more.c b/mbbsd/more.c index 7440ecc4..f8d32c61 100644 --- a/mbbsd/more.c +++ b/mbbsd/more.c @@ -1,4 +1,4 @@ -/* $Id: more.c,v 1.11 2002/04/27 15:50:17 in2 Exp $ */ +/* $Id: more.c,v 1.12 2002/04/28 19:35:29 in2 Exp $ */ #include <stdio.h> #include <stdlib.h> #include <string.h> @@ -459,7 +459,7 @@ int more(char *fpath, int promptend) { if(*search_str) { searching = 1; if(getdata(b_lines - 1, 0, "區分大小寫(Y/N/Q)? [N] ", - ans, 4, LCECHO) && *ans == 'y') + ans, sizeof(ans), LCECHO) && *ans == 'y') fptr = strstr; else fptr = strcasestr; diff --git a/mbbsd/othello.c b/mbbsd/othello.c index 47b8cef3..888a483e 100644 --- a/mbbsd/othello.c +++ b/mbbsd/othello.c @@ -1,4 +1,4 @@ -/* $Id: othello.c,v 1.1 2002/03/07 15:13:48 in2 Exp $ */ +/* $Id: othello.c,v 1.2 2002/04/28 19:35:29 in2 Exp $ */ #include <stdio.h> #include <stdlib.h> #include <sys/types.h> @@ -485,7 +485,8 @@ static int choose() { prints("(2) 嬰兒\n"); /* 想 3 步 */ prints("(3) 小孩\n"); /* 想 4 步 */ do { - getdata(4, 0, "請選擇一個對象和您對打:(1~5)", thinkstep, 2, LCECHO); + getdata(4, 0, "請選擇一個對象和您對打:(1~5)", + thinkstep, sizeof(thinkstep), LCECHO); } while(thinkstep[0] < '1' || thinkstep[0] > '3'); clear(); switch(thinkstep[0]) { diff --git a/mbbsd/page.c b/mbbsd/page.c index 33201bfc..5be7762e 100644 --- a/mbbsd/page.c +++ b/mbbsd/page.c @@ -1,4 +1,4 @@ -/* $Id: page.c,v 1.2 2002/04/27 15:50:17 in2 Exp $ */ +/* $Id: page.c,v 1.3 2002/04/28 19:35:29 in2 Exp $ */ #include <stdio.h> #include <stdlib.h> #include <string.h> @@ -103,7 +103,7 @@ int main_railway() { break; while(1) if(getdata(21, 0, "\033[1;35m欲查詢 1:出發時間 2:到達時間\033[m", - tt, 2, LCECHO) && + tt, sizeof(tt), LCECHO) && (tt[0]=='1' || tt[0]=='2')) break; sethomepath(genbuf, cuser.userid); diff --git a/mbbsd/read.c b/mbbsd/read.c index b92f95e7..b2cc64a4 100644 --- a/mbbsd/read.c +++ b/mbbsd/read.c @@ -1,4 +1,4 @@ -/* $Id: read.c,v 1.1 2002/03/07 15:13:48 in2 Exp $ */ +/* $Id: read.c,v 1.2 2002/04/28 19:35:29 in2 Exp $ */ #include <stdio.h> #include <string.h> #include <ctype.h> @@ -408,7 +408,7 @@ static int thread(keeploc_t *locmem, int stype) { } sprintf(s_pmt, "%s搜尋%s [%s] ",(stype & RS_FORWARD) ? "往後":"往前", (stype & RS_TITLE) ? "標題" : "作者", query); - getdata(b_lines - 1, 0, s_pmt, ans, 30, DOECHO); + getdata(b_lines - 1, 0, s_pmt, ans, sizeof(ans), DOECHO); if(*ans) strcpy(query, ans); else if(*query == '\0') diff --git a/mbbsd/register.c b/mbbsd/register.c index 1ef56e9e..53acc82f 100644 --- a/mbbsd/register.c +++ b/mbbsd/register.c @@ -1,4 +1,4 @@ -/* $Id: register.c,v 1.2 2002/03/17 06:04:18 in2 Exp $ */ +/* $Id: register.c,v 1.3 2002/04/28 19:35:29 in2 Exp $ */ #define _XOPEN_SOURCE #include <stdio.h> @@ -217,7 +217,8 @@ void new_register() { oflush(); exit(1); } - getdata(17, 0, msg_uid, newuser.userid, IDLEN + 1, DOECHO); + getdata(17, 0, msg_uid, newuser.userid, + sizeof(newuser.userid), DOECHO); if(bad_user_id(newuser.userid)) outs("無法接受這個代號,請使用英文字母,並且不要包含空格\n"); @@ -246,13 +247,14 @@ void new_register() { oflush(); exit(1); } - if((getdata(19, 0, "請設定密碼:", passbuf, PASSLEN, NOECHO) < 3) || + if((getdata(19, 0, "請設定密碼:", passbuf, + sizeof(passbuf), NOECHO) < 3) || !strcmp(passbuf, newuser.userid)) { outs("密碼太簡單,易遭入侵,至少要 4 個字,請重新輸入\n"); continue; } strncpy(newuser.passwd, passbuf, PASSLEN); - getdata(20, 0, "請檢查密碼:", passbuf, PASSLEN, NOECHO); + getdata(20, 0, "請檢查密碼:", passbuf, sizeof(passbuf), NOECHO); if(strncmp(passbuf, newuser.passwd, PASSLEN)) { outs("密碼輸入錯誤, 請重新輸入密碼.\n"); continue; @@ -291,33 +293,37 @@ void check_register() { stand_title("請詳細填寫個人資料"); while(strlen(cuser.username) < 2) - getdata(2, 0, "綽號暱稱:", cuser.username, 24, DOECHO); + getdata(2, 0, "綽號暱稱:", cuser.username, + sizeof(cuser.username), DOECHO); for(ptr = cuser.username; *ptr; ptr++) { if (*ptr == 9) /* TAB convert */ *ptr = ' '; } while(strlen(cuser.realname) < 4) - getdata(4, 0, "真實姓名:", cuser.realname, 20, DOECHO); + getdata(4, 0, "真實姓名:", cuser.realname, + sizeof(cuser.realname), DOECHO); while(strlen(cuser.address) < 8) - getdata(6, 0, "聯絡地址:", cuser.address, 50, DOECHO); + getdata(6, 0, "聯絡地址:", cuser.address, + sizeof(cuser.address), DOECHO); /* if(!strchr(cuser.email, '@')) { bell(); move(t_lines - 4, 0); - prints("※ 為了您的權益,請填寫真實的 E-mail address, " + prints("※ 為了您的權益,請填寫真實的 E-mail address," "以資確認閣下身份,\n" "格式為 \033[44muser@domain_name\033[0m 或 \033[44muser" "@\\[ip_number\\]\033[0m。\n\n" "※ 如果您真的沒有 E-mail,請直接按 [return] 即可。"); do { - getdata(8, 0, "電子信箱:", cuser.email, 50, DOECHO); + getdata(8, 0, "電子信箱:", + cuser.email, sizeof(cuser.email), DOECHO); if(!cuser.email[0]) - sprintf(cuser.email, "%s%s", cuser.userid, str_mail_address); + sprintf(cuser.email, "%s%s", cuser.userid, str_mail_address); } while(!strchr(cuser.email, '@')); } diff --git a/mbbsd/syspost.c b/mbbsd/syspost.c index 67edc632..474e8b65 100644 --- a/mbbsd/syspost.c +++ b/mbbsd/syspost.c @@ -1,4 +1,4 @@ -/* $Id: syspost.c,v 1.2 2002/03/09 17:27:57 in2 Exp $ */ +/* $Id: syspost.c,v 1.3 2002/04/28 19:35:29 in2 Exp $ */ #include <stdio.h> #include <string.h> #include <time.h> @@ -41,7 +41,7 @@ void post_change_perm(int oldperm, int newperm, char *sysopid, char *userid) { clrtobot(); clear(); while(!getdata_str(5, 0, "請輸入理由以示負責:", - reason, 60, DOECHO, "看版版主:")); + reason, sizeof(reason), DOECHO, "看版版主:")); fprintf(fp, "\n \033[1;37m站長%s修改權限理由是:%s\033[m", cuser.userid, reason); fclose(fp); diff --git a/mbbsd/talk.c b/mbbsd/talk.c index 73fdbc43..463f1f71 100644 --- a/mbbsd/talk.c +++ b/mbbsd/talk.c @@ -1,4 +1,4 @@ -/* $Id: talk.c,v 1.22 2002/04/27 15:50:17 in2 Exp $ */ +/* $Id: talk.c,v 1.23 2002/04/28 19:35:29 in2 Exp $ */ #include <stdio.h> #include <string.h> #include <errno.h> @@ -819,7 +819,7 @@ int t_display(void) setuserfile(genbuf, fn_writelog); if (more(genbuf, YEA) != -1){ getdata(b_lines - 1, 0, "清除(C) 移至備忘錄(M) 保留(R) (C/M/R)?[R]", - ans, 3, LCECHO); + ans, sizeof(ans), LCECHO); if (*ans == 'm'){ fileheader_t mymail; char title[128], buf[80]; @@ -1108,7 +1108,7 @@ static void do_talk(int fd) fclose(flog); more(fpath, NA); getdata(b_lines - 1, 0, "清除(C) 移至備忘錄(M). (C/M)?[C]", - ans, 4, LCECHO); + ans, sizeof(ans), LCECHO); if (*ans == 'm'){ fileheader_t mymail; char title[128]; @@ -1838,8 +1838,8 @@ static void pickup_user(void) char buf[100]; sprintf(buf, "代號 [%s]:", currutmp->userid); - if (!getdata(1, 0, buf, currutmp->userid, IDLEN + 1, - DOECHO)) + if (!getdata(1, 0, buf, currutmp->userid, + sizeof(currutmp->userid), DOECHO)) strcpy(currutmp->userid, cuser.userid); state = US_REDRAW; } @@ -1849,7 +1849,8 @@ static void pickup_user(void) char buf[100]; sprintf(buf, "故鄉 [%s]:", currutmp->from); - if (!getdata(1, 0, buf, currutmp->from, 17, DOECHO)) + if (!getdata(1, 0, buf, currutmp->from, + sizeof(currutmp->from), DOECHO)) strncpy(currutmp->from, fromhost, 23); state = US_REDRAW; } @@ -1903,8 +1904,8 @@ static void pickup_user(void) break; case '/': - getdata_buf(b_lines-1,0,"請輸入暱稱關鍵字:",keyword, 12, - DOECHO); + getdata_buf(b_lines-1,0,"請輸入暱稱關鍵字:", + keyword, sizeof(keyword), DOECHO); state = US_PICKUP; break; case 's': @@ -1966,7 +1967,8 @@ static void pickup_user(void) state = US_PICKUP; if (!getdata(0, 0, "廣播訊息:", genbuf, 60, DOECHO)) break; - if (getdata(0, 0, "確定廣播? [Y]", ans, 4, LCECHO) && + if (getdata(0, 0, "確定廣播? [Y]", + ans, sizeof(ans), LCECHO) && *ans == 'n') break; while (actor_pos){ @@ -2247,8 +2249,8 @@ int t_idle(void) if (currutmp->destuid == 6) if (!cuser.userlevel || - !getdata(b_lines - 1, 0, "發呆的理由:", currutmp->chatid, 11, - DOECHO)) + !getdata(b_lines - 1, 0, "發呆的理由:", + currutmp->chatid, sizeof(currutmp->chatid), DOECHO)) currutmp->destuid = 0; do{ move(b_lines - 2, 0); @@ -2257,7 +2259,7 @@ int t_idle(void) IdleTypeTable[currutmp->destuid] : currutmp->chatid); outs(buf); refresh(); - getdata(b_lines - 1, 0, MSG_PASSWD, passbuf, PASSLEN, NOECHO); + getdata(b_lines - 1, 0, MSG_PASSWD, passbuf, sizeof(passbuf), NOECHO); passbuf[8] = '\0'; } while (!checkpasswd(cuser.passwd, passbuf) && @@ -2379,11 +2381,11 @@ void talkreply(void) sprintf(genbuf, "你想跟 %s %s啊?請選擇(Y/N/A/B/C/D/E/F/1/2)[N] ", page_requestor, sig_des[sig]); - getdata(0, 0, genbuf, buf, 4, LCECHO); + getdata(0, 0, genbuf, buf, sizeof(buf), LCECHO); if (uip->mode != PAGE){ sprintf(genbuf, "%s已停止呼叫,按Enter繼續...", page_requestor); - getdata(0, 0, genbuf, buf, 4, LCECHO); + getdata(0, 0, genbuf, buf, sizeof(buf), LCECHO); return; } currutmp->msgcount = 0; diff --git a/mbbsd/user.c b/mbbsd/user.c index 55719a4a..3cce4bc5 100644 --- a/mbbsd/user.c +++ b/mbbsd/user.c @@ -1,4 +1,4 @@ -/* $Id: user.c,v 1.14 2002/04/27 15:50:17 in2 Exp $ */ +/* $Id: user.c,v 1.15 2002/04/28 19:35:29 in2 Exp $ */ #include <stdio.h> #include <stdlib.h> #include <string.h> @@ -50,7 +50,7 @@ int u_loginview() { clrtobot(); while(getdata(b_lines - 1, 0, "請按 [A-N] 切換設定,按 [Return] 結束:", - choice, 3, LCECHO)) { + choice, sizeof(choice), LCECHO)) { i = choice[0] - 'a'; if(i >= NUMVIEWFILE || i < 0) bell(); @@ -175,8 +175,7 @@ static void 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, 3, DOECHO); + getdata(5, 0, "(0)結束", ans, sizeof(ans), DOECHO); switch(ans[0]){ case '1': sprintf(reason, "%s", "Cross-post"); @@ -193,12 +192,12 @@ static void violate_law(userec_t *u, int unum){ break; case '8': case '9': - while(!getdata(6, 0, "請輸入理由以示負責:", reason, 50, DOECHO)); + while(!getdata(6, 0, "請輸入理由以示負責:", reason, 50, DOECHO)); break; default: return; } - getdata(7, 0, msg_sure_ny, ans2, 3, LCECHO); + getdata(7, 0, msg_sure_ny, ans2, sizeof(ans2), LCECHO); if(*ans2 != 'y') return; if (ans[0]=='9'){ @@ -243,7 +242,7 @@ void uinfo_query(userec_t *u, int real, int unum) { "(1)改資料(2)設密碼(3)設權限(4)砍帳號(5)改ID" "(6)殺/復活寵物(7)審判 [0]結束 " : "請選擇 (1)修改資料 (2)設定密碼 ==> [0]結束 ", - ans, 3, DOECHO); + ans, sizeof(ans), DOECHO); if(ans[0] > '2' && !real) ans[0] = '0'; @@ -264,11 +263,15 @@ void uinfo_query(userec_t *u, int real, int unum) { move(0, 0); outs("請逐項修改。"); - getdata_buf(i++, 0," 暱 稱 :",x.username, 24, DOECHO); + getdata_buf(i++, 0," 暱 稱 :",x.username, + sizeof(x.username), DOECHO); if(real) { - getdata_buf(i++, 0, "真實姓名:", x.realname, 20, DOECHO); - getdata_buf(i++, 0, "身分證號:", x.ident, 11, DOECHO); - getdata_buf(i++, 0, "居住地址:", x.address, 50, DOECHO); + getdata_buf(i++, 0, "真實姓名:", + x.realname, sizeof(x.realname), DOECHO); + getdata_buf(i++, 0, "身分證號:", + x.ident, sizeof(x.ident), DOECHO); + getdata_buf(i++, 0, "居住地址:", + x.address, sizeof(x.address), DOECHO); } sprintf(buf, "%010d", x.mobile); getdata_buf(i++, 0, "手機號碼:", buf, 11, LCECHO); @@ -332,11 +335,13 @@ void uinfo_query(userec_t *u, int real, int unum) { if((l = atol(buf)) != 0) x.exmailbox = (int)l; - getdata_buf(i++, 0, "認證資料:", x.justify, 44, DOECHO); - getdata_buf(i++, 0, "最近光臨機器:", x.lasthost, 16, DOECHO); + getdata_buf(i++, 0, "認證資料:", x.justify, + sizeof(x.justify), DOECHO); + getdata_buf(i++, 0, "最近光臨機器:", + x.lasthost, sizeof(x.lasthost), DOECHO); sprintf(genbuf, "%d", x.numlogins); - if(getdata_str(i++, 0,"上線次數:", buf, 10, DOECHO,genbuf)) + if(getdata_str(i++, 0,"上線次數:", buf, 10, DOECHO, genbuf)) if((fail = atoi(buf)) >= 0) x.numlogins = fail; @@ -398,7 +403,8 @@ void uinfo_query(userec_t *u, int real, int unum) { char witness[3][32]; time_t now = time(NULL); for(i=0;i<3;i++){ - if(!getdata(19+i, 0, "請輸入協助證明之使用者:", witness[i], 32, DOECHO)){ + if(!getdata(19+i, 0, "請輸入協助證明之使用者:", + witness[i], sizeof(witness[i]), DOECHO)){ outs("\n不輸入則無法更改\n"); fail++; break; @@ -534,7 +540,9 @@ void uinfo_query(userec_t *u, int real, int unum) { clrtobot (); clear(); - while(!getdata(5, 0, "請輸入理由以示負責:", reason, 60, DOECHO)); + while( !getdata(5, 0, "請輸入理由以示負責:", + reason, sizeof(reason), DOECHO) ) + ; fprintf(fp, "\n \033[1;37m站長%s修改錢理由是:%s\033[m", cuser.userid, reason); @@ -637,7 +645,8 @@ int u_editsig() { j = showsignature(genbuf); - getdata(0, 0, "簽名檔 (E)編輯 (D)刪除 (Q)取消?[Q] ", ans, 4, LCECHO); + getdata(0, 0, "簽名檔 (E)編輯 (D)刪除 (Q)取消?[Q] ", + ans, sizeof(ans), LCECHO); aborted = 0; if(ans[0] == 'd') @@ -646,7 +655,7 @@ int u_editsig() { aborted = 2; if(aborted) { - if(!getdata(1, 0, "請選擇簽名檔(1-9)?[1] ", ans, 4, DOECHO)) + if(!getdata(1, 0, "請選擇簽名檔(1-9)?[1] ", ans, sizeof(ans), DOECHO)) ans[0] = '1'; if(ans[0] >= '1' && ans[0] <= '9') { genbuf[j] = ans[0]; @@ -937,7 +946,7 @@ int u_register(void) prints("%s(%s) 您好,請輸入您的認證碼或輸入 x重填 E-Mail ", cuser.userid, cuser.username); inregcode[0] = 0; - getdata(10, 0, "您的認證碼: ", inregcode, 45, DOECHO); + getdata(10, 0, "您的認證碼: ", inregcode, sizeof(inregcode), DOECHO); if( strcmp(inregcode, getregcode(regcode)) == 0 ){ int unum; if( (unum = getuser(cuser.userid)) == 0 ){ @@ -964,7 +973,8 @@ int u_register(void) return FULLUPDATE; } - getdata(b_lines - 1, 0, "您確定要填寫註冊單嗎(Y/N)?[N] ", ans, 3, LCECHO); + getdata(b_lines - 1, 0, "您確定要填寫註冊單嗎(Y/N)?[N] ", + ans, sizeof(ans), LCECHO); if(ans[0] != 'y') return FULLUPDATE; @@ -1017,7 +1027,7 @@ int u_register(void) } getfield(17, "1.葛格 2.姐接 ", "性別", sex_is, 2); getdata(18, 0, "以上資料是否正確(Y/N)?(Q)取消註冊 [N] ", - ans, 3, LCECHO); + ans, sizeof(ans), LCECHO); if(ans[0] == 'q') return 0; if(ans[0] == 'y') diff --git a/mbbsd/vice.c b/mbbsd/vice.c index 46f695d9..a27e5b21 100644 --- a/mbbsd/vice.c +++ b/mbbsd/vice.c @@ -1,4 +1,4 @@ -/* $Id: vice.c,v 1.1 2002/03/07 15:13:48 in2 Exp $ */ +/* $Id: vice.c,v 1.2 2002/04/28 19:35:29 in2 Exp $ */ #include <stdio.h> #include <string.h> #include <stdlib.h> @@ -118,7 +118,8 @@ int vice_main() { j += 9; j %= 45; } - getdata(8, 0, "按'c'開始對獎了(或是任意鍵離開)): ", ch, 2, LCECHO); + getdata(8, 0, "按'c'開始對獎了(或是任意鍵離開)): ", + ch, sizeof(ch), LCECHO); if(ch[0] != 'c' || lockutmpmode(VICE, LOCK_MULTI)){ fclose(fd); return 0; diff --git a/mbbsd/vote.c b/mbbsd/vote.c index 79176f7a..9cc55b40 100644 --- a/mbbsd/vote.c +++ b/mbbsd/vote.c @@ -1,4 +1,4 @@ -/* $Id: vote.c,v 1.5 2002/03/29 16:22:53 ptt Exp $ */ +/* $Id: vote.c,v 1.6 2002/04/28 19:35:29 in2 Exp $ */ #include <stdio.h> #include <stdlib.h> #include <string.h> @@ -654,7 +654,7 @@ static int vote_maintain(char *bname) { move(0,0); prints("第 %d 號投票\n", x); setbfile(buf, bname, STR_new_title); - getdata(4, 0, "請輸入投票名稱", inbuf, 30, LCECHO); + getdata(4, 0, "請輸入投票名稱", inbuf, sizeof(inbuf), LCECHO); if(inbuf[0]=='\0') strcpy(inbuf,"不知名的"); fp = fopen(buf, "w"); @@ -706,7 +706,8 @@ static int vote_maintain(char *bname) { num = 0; while(!aborted) { sprintf(buf, "%c) ", num + 'A'); - getdata((num % 15) + 2, (num / 15) * 40, buf, inbuf, 36, DOECHO); + getdata((num % 15) + 2, (num / 15) * 40, buf, + inbuf, sizeof(inbuf), DOECHO); if(*inbuf) { fprintf(fp, "%1c) %s\n", (num+'A'), inbuf); num++; @@ -866,7 +867,7 @@ static int user_vote_one(char *bname, int ind) { vote[0] = vote[1] = '\0'; move(t_lines - 2, 0); prints("你還可以投 %2d 票", tickets - i); - getdata(t_lines - 4, 0, "輸入您的選擇: ", vote, 3, DOECHO); + getdata(t_lines - 4, 0, "輸入您的選擇: ", vote, sizeof(vote), DOECHO); *vote = toupper(*vote); if(vote[0] == '0' || (!vote[0] && !i)) { outs("記的再來投喔!!"); @@ -922,7 +923,8 @@ static int user_vote_one(char *bname, int ind) { outs("請問您對這次投票有什麼寶貴的意見?" "最多三行,按[Enter]結束"); for(i = 0; (i < 3) && - getdata(7 + i, 0, ":", mycomments[i], 74, + getdata(7 + i, 0, ":", + mycomments[i], sizeof(mycomments[i]), DOECHO); i++); getdata(b_lines-2,0, "(S)儲存 (E)重新來過 " "(Q)取消?[S]", buf, 3, LCECHO); diff --git a/mbbsd/voteboard.c b/mbbsd/voteboard.c index 53034692..dbc23412 100644 --- a/mbbsd/voteboard.c +++ b/mbbsd/voteboard.c @@ -1,4 +1,4 @@ -/* $Id: voteboard.c,v 1.3 2002/04/17 09:23:26 in2 Exp $ */ +/* $Id: voteboard.c,v 1.4 2002/04/28 19:35:29 in2 Exp $ */ #include <stdio.h> #include <stdlib.h> #include <string.h> @@ -24,7 +24,7 @@ extern userec_t cuser; void do_voteboardreply(fileheader_t *fhdr){ char genbuf[1024]; - char reason[60]; + char reason[50]; char fpath[80]; char oldfpath[80]; char opnion[10]; @@ -131,7 +131,8 @@ void do_voteboardreply(fileheader_t *fhdr){ } }while(opnion[0] != 'y' && opnion[0] != 'n'); - if (!getdata(20, 0, "請問您與這個議題的關係或連署理由為何:", reason, 40, DOECHO)){ + if (!getdata(20, 0, "請問您與這個議題的關係或連署理由為何:", + reason, sizeof(reason), DOECHO)){ flock(fd, LOCK_UN); close(fd); fclose(fo); diff --git a/mbbsd/xyz.c b/mbbsd/xyz.c index 786add30..9ddbbe3e 100644 --- a/mbbsd/xyz.c +++ b/mbbsd/xyz.c @@ -1,4 +1,4 @@ -/* $Id: xyz.c,v 1.1 2002/03/07 15:13:48 in2 Exp $ */ +/* $Id: xyz.c,v 1.2 2002/04/28 19:35:29 in2 Exp $ */ #include <stdio.h> #include <stdlib.h> #include <string.h> @@ -182,8 +182,9 @@ int note() { move(12, 0); clrtobot(); outs("\n投五銀... 嗶... 請留言 (至多三行),按[Enter]結束"); - for(i = 0; (i < 3) && getdata(16 + i, 0, ":", myitem.buf[i], 78, - DOECHO) && *myitem.buf[i]; i++); + for(i = 0; (i < 3) && getdata(16 + i, 0, ":", myitem.buf[i], + sizeof(myitem.buf[i]), DOECHO) + && *myitem.buf[i]; i++); getdata(b_lines - 1, 0, "(S)儲存 (E)重新來過 (Q)取消?[S] ", buf, 3, LCECHO); @@ -424,7 +425,8 @@ static int x_archie() { strcpy(genbuf1, buf); sprintf(buf, BBSHOME "/tmp/archie.%s", cuser.userid); if(dashf(buf)) { - getdata(0, 0, "要將結果寄回信箱嗎(Y/N)?[N]", ans, 3, DOECHO,0); + getdata(0, 0, "要將結果寄回信箱嗎(Y/N)?[N]", + ans, sizeof(ans), DOECHO, 0); if(*ans == 'y') { fileheader_t mhdr; char title[128], buf1[80]; |