summaryrefslogtreecommitdiffstats
path: root/mbbsd/mail.c
diff options
context:
space:
mode:
authorvictor <victor@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2005-12-05 19:43:06 +0800
committervictor <victor@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2005-12-05 19:43:06 +0800
commit13674435d74c2e66f08b06f8832ef59275f1a3ac (patch)
tree3dd0d0934d55c4a44f40d4dc63bfbebff918dc69 /mbbsd/mail.c
parentb145b9d602205f09241f6a0505b189503a540afe (diff)
downloadpttbbs-13674435d74c2e66f08b06f8832ef59275f1a3ac.tar
pttbbs-13674435d74c2e66f08b06f8832ef59275f1a3ac.tar.gz
pttbbs-13674435d74c2e66f08b06f8832ef59275f1a3ac.tar.bz2
pttbbs-13674435d74c2e66f08b06f8832ef59275f1a3ac.tar.lz
pttbbs-13674435d74c2e66f08b06f8832ef59275f1a3ac.tar.xz
pttbbs-13674435d74c2e66f08b06f8832ef59275f1a3ac.tar.zst
pttbbs-13674435d74c2e66f08b06f8832ef59275f1a3ac.zip
Fix the procedures of FULLUPDATE, PARTUPDATE and DIRCHANGED.
Close ticket #39. git-svn-id: http://opensvn.csie.org/pttbbs/trunk/pttbbs@3252 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
Diffstat (limited to 'mbbsd/mail.c')
-rw-r--r--mbbsd/mail.c31
1 files changed, 16 insertions, 15 deletions
diff --git a/mbbsd/mail.c b/mbbsd/mail.c
index da8f2a1c..67ef0ec8 100644
--- a/mbbsd/mail.c
+++ b/mbbsd/mail.c
@@ -82,12 +82,11 @@ built_mail_index(void)
return 0;
snprintf(genbuf, sizeof(genbuf),
- BBSHOME "/bin/buildir " BBSHOME "/home/%c/%s",
+ BBSHOME "/bin/buildir " BBSHOME "/home/%c/%s > /dev/null",
cuser.userid[0], cuser.userid);
- move(22, 0);
- outs(ANSI_COLOR(1;31) "已經處理完畢!! 諸多不便 敬請原諒~" ANSI_RESET);
- pressanykey();
+ mouts(b_lines - 1, 0, ANSI_COLOR(1;31) "已經處理完畢!! 諸多不便 敬請原諒~" ANSI_RESET);
system(genbuf);
+ pressanykey();
return 0;
}
@@ -765,6 +764,8 @@ m_forward(int ent, fileheader_t * fhdr, const char *direct)
break;
}
pressanykey();
+ if (strcasecmp(uid, cuser.userid) == 0)
+ return DIRCHANGED;
return FULLUPDATE;
}
@@ -808,8 +809,7 @@ read_new_mail(void * voidfptr, void *optarg)
switch (more_result) {
case 999:
- mail_reply(arg->idc, fptr, currmaildir);
- return FULLUPDATE;
+ return mail_reply(arg->idc, fptr, currmaildir);
case -1:
return READ_SKIP;
case 0:
@@ -1068,8 +1068,7 @@ mail_read(int ent, fileheader_t * fhdr, const char *direct)
vmsg("此封信無內容。");
return FULLUPDATE;
case 999:
- mail_reply(ent, fhdr, direct);
- return FULLUPDATE;
+ return mail_reply(ent, fhdr, direct);
case 0:
break;
default:
@@ -1170,6 +1169,8 @@ mail_reply(int ent, fileheader_t * fhdr, const char *direct)
}
curredit = ent;
pressanykey();
+ if (strcasecmp(uid, cuser.userid) == 0)
+ return DIRCHANGED;
return FULLUPDATE;
}
@@ -1353,12 +1354,12 @@ mail_man(void)
int mode0 = currutmp->mode;
int stat0 = currstat;
- sethomeman(buf, cuser.userid);
- snprintf(buf1, sizeof(buf1), "%s 的信件夾", cuser.userid);
- a_menu(buf1, buf, HasUserPerm(PERM_MAILLIMIT), NULL);
- currutmp->mode = mode0;
- currstat = stat0;
- return FULLUPDATE;
+ sethomeman(buf, cuser.userid);
+ snprintf(buf1, sizeof(buf1), "%s 的信件夾", cuser.userid);
+ a_menu(buf1, buf, HasUserPerm(PERM_MAILLIMIT), NULL);
+ currutmp->mode = mode0;
+ currstat = stat0;
+ return FULLUPDATE;
}
static int
@@ -1478,7 +1479,7 @@ mail_waterball(int ent, fileheader_t * fhdr, const char *direct)
getdata(b_lines - 1, 0, "使用模式(0/1/Q)? [1]", fname, 3, LCECHO);
if (fname[0] == 'Q' || fname[0] == 'q') {
outmsg("取消處理");
- return 1;
+ return FULLUPDATE;
}
cmode = (fname[0] != '0' && fname[0] != '1') ? 1 : fname[0] - '0';