summaryrefslogtreecommitdiffstats
path: root/mbbsd/bbs.c
diff options
context:
space:
mode:
Diffstat (limited to 'mbbsd/bbs.c')
-rw-r--r--mbbsd/bbs.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/mbbsd/bbs.c b/mbbsd/bbs.c
index a0385552..659e6544 100644
--- a/mbbsd/bbs.c
+++ b/mbbsd/bbs.c
@@ -947,6 +947,11 @@ edit_post(int ent, fileheader_t * fhdr, char *direct)
if( currmode & MODE_SELECT )
return DONOTHING;
+#ifdef SAFE_ARTICLE_DELETE
+ if( fhdr->filename[0] == '.' )
+ return DONOTHING;
+#endif
+
setutmpmode(REEDIT);
setdirpath(genbuf, direct, fhdr->filename);
local_article = fhdr->filemode & FILE_LOCAL;
@@ -1833,7 +1838,13 @@ del_post(int ent, fileheader_t * fhdr, char *direct)
getdata(1, 0, msg_del_ny, genbuf, 3, LCECHO);
if (genbuf[0] == 'y') {
strlcpy(currfile, fhdr->filename, sizeof(currfile));
- if (!delete_file(direct, sizeof(fileheader_t), ent, cmpfilename)) {
+ if(
+#ifdef SAFE_ARTICLE_DELETE
+ !safe_article_delete(ent, fhdr, direct)
+#else
+ !delete_file(direct, sizeof(fileheader_t), ent, cmpfilename)
+#endif
+ ) {
int num;
if (currmode & MODE_SELECT) {
/* rocker.011018: §Q„Īreference“ī§Cloading */