summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorptt <ptt@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2005-08-19 03:06:13 +0800
committerptt <ptt@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2005-08-19 03:06:13 +0800
commit129be11fe3496310fe27034977dc642e49af559c (patch)
tree12b72cfa632115af91a977e357db56efdcbc8bc3
parentfe78367f3084e6e829b995e30bd6548ae28833d4 (diff)
downloadpttbbs-129be11fe3496310fe27034977dc642e49af559c.tar
pttbbs-129be11fe3496310fe27034977dc642e49af559c.tar.gz
pttbbs-129be11fe3496310fe27034977dc642e49af559c.tar.bz2
pttbbs-129be11fe3496310fe27034977dc642e49af559c.tar.lz
pttbbs-129be11fe3496310fe27034977dc642e49af559c.tar.xz
pttbbs-129be11fe3496310fe27034977dc642e49af559c.tar.zst
pttbbs-129be11fe3496310fe27034977dc642e49af559c.zip
don't delete local post while cancel message
git-svn-id: http://opensvn.csie.org/pttbbs/trunk/pttbbs@3063 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
-rw-r--r--innbbsd/nocem.h2
-rw-r--r--innbbsd/receive_article.c10
2 files changed, 8 insertions, 4 deletions
diff --git a/innbbsd/nocem.h b/innbbsd/nocem.h
index de5b2d4d..18a4c5e9 100644
--- a/innbbsd/nocem.h
+++ b/innbbsd/nocem.h
@@ -52,6 +52,6 @@ extern char COUNT[];
extern char THRESHOLD[];
extern char KEYID[];
extern char SPAMMID_NOW[];
-extern char SPAMMID[][];
+extern char SPAMMID[MAXSPAMMID][STRLEN];
#endif /* NOCEM_H */
diff --git a/innbbsd/receive_article.c b/innbbsd/receive_article.c
index b9672edd..33831d18 100644
--- a/innbbsd/receive_article.c
+++ b/innbbsd/receive_article.c
@@ -778,8 +778,11 @@ post_article(homepath, userid, board, writebody, pathname, firstpath)
#else
strcpy(header.filename, name);
- if (userid[IDLEN])
- strcpy(&userid[IDLEN], ".");
+ if (userid[IDLEN-1])
+ {
+ userid[IDLEN-1] = '.';
+ userid[IDLEN] = '\0';
+ }
strcpy(header.owner, userid);
strncpy(header.title, subject, TTLEN);
header.filemode |= FILE_MULTI;
@@ -988,7 +991,8 @@ cancel_article(homepath, board, file)
while (read(fd, &header, size) == size) {
if (strcmp(file, header.filename) == 0) {
if ((header.filemode & FILE_MARKED)
- || (header.filemode & FILE_DIGEST) || (header.owner[0] == '-'))
+ || (header.filemode & FILE_DIGEST) || (header.owner[0] == '-')
+ || !strchr(header.owner,'.'))
break;
delete_record(dirname, sizeof(fileheader_t), lseek(fd, 0, SEEK_CUR) / size);
cancelpost(&header, board);