summaryrefslogtreecommitdiffstats
path: root/mbbsd/mail.c
diff options
context:
space:
mode:
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';