diff options
author | ptt <ptt@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> | 2004-04-26 23:28:24 +0800 |
---|---|---|
committer | ptt <ptt@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> | 2004-04-26 23:28:24 +0800 |
commit | 4b502e05397babe1c8050adb99c2f3e1ebcce641 (patch) | |
tree | 728b6c056cdbb67dc8579b5d789a967c1ad9858e /mbbsd/talk.c | |
parent | c144625766bb0db3b3f0bc5718fbe55d356e449f (diff) | |
parent | a08baf738de7959e912f5b12314da85eaea5a3c9 (diff) | |
download | pttbbs-4b502e05397babe1c8050adb99c2f3e1ebcce641.tar pttbbs-4b502e05397babe1c8050adb99c2f3e1ebcce641.tar.gz pttbbs-4b502e05397babe1c8050adb99c2f3e1ebcce641.tar.bz2 pttbbs-4b502e05397babe1c8050adb99c2f3e1ebcce641.tar.lz pttbbs-4b502e05397babe1c8050adb99c2f3e1ebcce641.tar.xz pttbbs-4b502e05397babe1c8050adb99c2f3e1ebcce641.tar.zst pttbbs-4b502e05397babe1c8050adb99c2f3e1ebcce641.zip |
todo Ptt.read
simplify thread()
i_read()
git-svn-id: http://opensvn.csie.org/pttbbs/branches/Ptt.read@1862 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
Diffstat (limited to 'mbbsd/talk.c')
-rw-r--r-- | mbbsd/talk.c | 32 |
1 files changed, 8 insertions, 24 deletions
diff --git a/mbbsd/talk.c b/mbbsd/talk.c index d667fb0a..d7550ba3 100644 --- a/mbbsd/talk.c +++ b/mbbsd/talk.c @@ -58,7 +58,7 @@ iswritable_stat(userinfo_t * uentp, int fri_stat) int isvisible_stat(userinfo_t * me, userinfo_t * uentp, int fri_stat) { - if (uentp->userid[0] == 0) + if (!uentp || uentp->userid[0] == 0) return 0; if (PERM_HIDE(uentp) && !(PERM_HIDE(me))) /* 對方紫色隱形而你沒有 */ @@ -512,7 +512,7 @@ my_write2(void) which = 0; do { - switch ((ch = igetkey())) { + switch ((ch = igetch())) { case Ctrl('T'): case KEY_UP: if (water_usies != 1) { @@ -592,9 +592,7 @@ my_write(pid_t pid, char *prompt, char *id, int flag, userinfo_t * puin) strlcpy(destid, id, sizeof(destid)); if (!uin && !(flag == 0 && water_which->count > 0)) { - outmsg("\033[1;33;41m糟糕! 對方已落跑了(不在站上)! \033[37m~>_<~\033[m"); - clrtoeol(); - refresh(); + vmsg("糟糕! 對方已落跑了(不在站上)! "); watermode = -1; return 0; } @@ -608,9 +606,6 @@ my_write(pid_t pid, char *prompt, char *id, int flag, userinfo_t * puin) /* 一般水球 */ watermode = 0; if (!(len = getdata(0, 0, prompt, msg, 56, DOECHO))) { - outmsg("\033[1;33;42m算了! 放你一馬...\033[m"); - clrtoeol(); - refresh(); currutmp->chatid[0] = c0; currutmp->mode = mode0; currstat = currstat0; @@ -635,9 +630,6 @@ my_write(pid_t pid, char *prompt, char *id, int flag, userinfo_t * puin) snprintf(buf, sizeof(buf), "丟給 %s : %s [Y/n]?", uin->userid, msg); getdata(0, 0, buf, genbuf, 3, LCECHO); if (genbuf[0] == 'n') { - outmsg("\033[1;33;42m算了! 放你一馬...\033[m"); - clrtoeol(); - refresh(); currutmp->chatid[0] = c0; currutmp->mode = mode0; currstat = currstat0; @@ -647,9 +639,7 @@ my_write(pid_t pid, char *prompt, char *id, int flag, userinfo_t * puin) } watermode = -1; if (!uin || !*uin->userid || strcasecmp(destid, uin->userid)) { - outmsg("\033[1;33;41m糟糕! 對方已落跑了(不在站上)! \033[37m~>_<~\033[m"); - clrtoeol(); - refresh(); + vmsg("糟糕! 對方已落跑了(不在站上)! "); currutmp->chatid[0] = c0; currutmp->mode = mode0; currstat = currstat0; @@ -712,7 +702,6 @@ my_write(pid_t pid, char *prompt, char *id, int flag, userinfo_t * puin) } clrtoeol(); - refresh(); currutmp->chatid[0] = c0; currutmp->mode = mode0; @@ -1055,7 +1044,7 @@ do_talk(int fd) add_io(fd, 0); while (1) { - ch = igetkey(); + ch = igetch(); if (ch == I_OTHERDATA) { datac = recv(fd, data, sizeof(data), 0); if (datac <= 0) @@ -1765,7 +1754,6 @@ draw_pickup(int drawall, pickup_t * pickup, int pickup_way, "%-2d\033[m\n", msg_pickup_way[pickup_way], SHM->UTMPnumber, myfriend, friendme, currutmp->brc_id ? (bfriend + 1) : 0, badfriend); - for (i = 0, ch = page * nPickups + 1; i < nPickups; ++i, ++ch) { move(i + 3, 0); prints("a"); @@ -1854,7 +1842,7 @@ draw_pickup(int drawall, pickup_t * pickup, int pickup_way, #endif ); - refresh(); + //refresh(); } } @@ -1965,7 +1953,7 @@ userlist(void) case 'H': if (HAS_PERM(PERM_SYSOP)) { - currutmp->userlevel ^= PERM_DENYPOST; + currutmp->userlevel ^= PERM_SYSOPHIDE; redrawall = redraw = 1; } break; @@ -2398,12 +2386,9 @@ userlist(void) cuser.uflag2 -= tmp; tmp = (tmp + 1) % 3; cuser.uflag2 |= tmp; - move(4, 0); - prints("系統提供 一般 進階 未來 三種模式\n" + vmsg("系統提供 一般 進階 未來 三種模式\n" "在切換後請正常下線再重新登入, 以確保結構正確\n" "目前切換到 %s 水球模式\n", wm[tmp]); - refresh(); - sleep(2); redrawall = redraw = 1; } break; @@ -2617,7 +2602,6 @@ talkreply(void) char genbuf[200]; int a, sig = currutmp->sig; - talkrequest = NA; uip = &SHM->uinfo[currutmp->destuip]; snprintf(page_requestor, sizeof(page_requestor), "%s (%s)", uip->userid, uip->username); |