summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpiaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2010-11-07 13:27:37 +0800
committerpiaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2010-11-07 13:27:37 +0800
commit8064ff29cbdfed16c8bc152397d89467c5f321d0 (patch)
tree1ff1b8996bba2ae8df4d9d4df72537b27e92ce2a
parent50180ef778c500ade0b2eaff448524130c2242e5 (diff)
downloadpttbbs-8064ff29cbdfed16c8bc152397d89467c5f321d0.tar
pttbbs-8064ff29cbdfed16c8bc152397d89467c5f321d0.tar.gz
pttbbs-8064ff29cbdfed16c8bc152397d89467c5f321d0.tar.bz2
pttbbs-8064ff29cbdfed16c8bc152397d89467c5f321d0.tar.lz
pttbbs-8064ff29cbdfed16c8bc152397d89467c5f321d0.tar.xz
pttbbs-8064ff29cbdfed16c8bc152397d89467c5f321d0.tar.zst
pttbbs-8064ff29cbdfed16c8bc152397d89467c5f321d0.zip
fix: mail should follow delete_file_content.
git-svn-id: http://opensvn.csie.org/pttbbs/trunk@5222 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
-rw-r--r--pttbbs/mbbsd/bbs.c2
-rw-r--r--pttbbs/mbbsd/mail.c22
2 files changed, 9 insertions, 15 deletions
diff --git a/pttbbs/mbbsd/bbs.c b/pttbbs/mbbsd/bbs.c
index 5303cbc5..15b992b1 100644
--- a/pttbbs/mbbsd/bbs.c
+++ b/pttbbs/mbbsd/bbs.c
@@ -3103,7 +3103,7 @@ del_range(int ent, const fileheader_t *fhdr, const char *direct,
// 'm' = 精華區 man/.../* or man/boards/%c/%s/.../*
// 'h' = 信箱 home/%c/%s/* 或信箱精華區 home/%c/%s/man/.../*
int is_board = (*direct == 'b'),
- is_home = (*direct == 'h'),
+ // is_home = (*direct == 'h'),
is_man = (*direct == 'm');
#ifdef SAFE_ARTICLE_DELETE
diff --git a/pttbbs/mbbsd/mail.c b/pttbbs/mbbsd/mail.c
index e5571159..48903f9c 100644
--- a/pttbbs/mbbsd/mail.c
+++ b/pttbbs/mbbsd/mail.c
@@ -1223,8 +1223,6 @@ maildoent(int num, fileheader_t * ent)
static int
mail_del(int ent, const fileheader_t * fhdr, const char *direct)
{
- char genbuf[200];
-
if (fhdr->filemode & FILE_MARKED)
return DONOTHING;
@@ -1235,20 +1233,16 @@ mail_del(int ent, const fileheader_t * fhdr, const char *direct)
if (vans(msg_del_ny) == 'y') {
if (!delete_fileheader(direct, fhdr, ent)) {
+ int del_ret = 0;
setupmailusage();
- setdirpath(genbuf, direct, fhdr->filename);
-#ifdef USE_TIME_CAPSULE
- // TODO we should collect all logf(delete) together
- log_filef(genbuf, LOG_CREAT, "\n※ Deleted by: %s (%s) %s",
- cuser.userid, fromhost, Cdatelite(&now));
- // bypass those recovered files
- if (strncmp(fhdr->owner, RECYCLE_BIN_OWNER,
- strlen(RECYCLE_BIN_OWNER)) != 0)
- timecapsule_archive_new_revision(
- genbuf, fhdr, sizeof(*fhdr), NULL, 0);
-#endif // USE_TIME_CAPSULE
- unlink(genbuf);
+ del_ret = delete_file_content(direct, fhdr, direct, NULL, 0);
loadmailusage();
+ if (del_ret == DELETE_FILE_CONTENT_BACKUP_FAILED)
+ vmsg("信件已刪除但不會進入資源回收筒");
+#ifdef DEBUG
+ else if (!IS_DELETE_FILE_CONTENT_OK(del_ret))
+ vmsg("檔案已不存在,請至" BN_BUGREPORT "報告,謝謝");
+#endif
return DIRCHANGED;
} else {
vmsg("刪除失敗,請確定未多重登入後再重試。");