summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/pttstruct.h3
-rw-r--r--mbbsd/bbs.c26
2 files changed, 9 insertions, 20 deletions
diff --git a/include/pttstruct.h b/include/pttstruct.h
index 8572612d..7ae3c97a 100644
--- a/include/pttstruct.h
+++ b/include/pttstruct.h
@@ -213,10 +213,9 @@ typedef struct fileheader_t {
#define FILE_BOTTOM 0x8 /* push_bottom */
#define FILE_SOLVED 0x10 /* problem solved, sysop/BM only */
#define FILE_HIDE 0x20 /* hild */
-#define FILE_NOREPLY 0x20 /* no reply */
+#define FILE_BID 0x20 /* for bid */
#define FILE_BM 0x40 /* BM only */
#define FILE_MULTI 0x100 /* multi send for mail */
-#define FILE_BID 0x20 /* for bid */
#define FILE_VOTE 0x40 /* for vote */
#define FILE_ANONYMOUS 0x80 /* anonymous file */
diff --git a/mbbsd/bbs.c b/mbbsd/bbs.c
index 4feb0089..37e9c6ef 100644
--- a/mbbsd/bbs.c
+++ b/mbbsd/bbs.c
@@ -184,8 +184,6 @@ readdoent(int num, fileheader_t * ent)
type = 'D';
else if (ent->filemode & FILE_SOLVED)
type = (type == ' ') ? 's': 'S';
- else if (ent->filemode & FILE_NOREPLY)
- type = (type == ' ') ? 'r': 'R';
}
title = subject(mark = ent->title);
if (ent->filemode & FILE_VOTE)
@@ -888,7 +886,9 @@ do_reply(fileheader_t * fhdr)
static int
reply_post(int ent, fileheader_t * fhdr, char *direct)
{
- if (!CheckPostPerm() || (fhdr->filemode &FILE_NOREPLY))
+ if (!CheckPostPerm() ||
+ ((fhdr->filemode &FILE_SOLVED) &&
+ vmsg("此篇文章已結案, 是否真的要回應?(y/N)")!='y'))
return DONOTHING;
setdirpath(quote_file, direct, fhdr->filename);
do_reply(fhdr);
@@ -999,7 +999,7 @@ cross_post(int ent, fileheader_t * fhdr, char *direct)
ent = 0;
getdata(2, 0, "保留原作者名稱嗎?[Y] ", inputbuf, 3, DOECHO);
if (inputbuf[0] != 'n' && inputbuf[0] != 'N')
- author = 1;
+ author = '1';
}
}
if (ent)
@@ -1080,9 +1080,9 @@ read_post(int ent, fileheader_t * fhdr, char *direct)
if (more_result) {
if(more_result == 999) {
- if (fhdr->filemode &FILE_NOREPLY)
- vmsg("此篇文章不可回覆");
- else if (CheckPostPerm()) {
+ if (CheckPostPerm() && (
+ !(fhdr->filemode &FILE_SOLVED) ||
+ vmsg("此篇文章已結案, 是否真的要回應?(y/N)")=='y')) {
strlcpy(quote_file, genbuf, sizeof(quote_file));
do_reply(fhdr);
*quote_file = 0;
@@ -1311,16 +1311,6 @@ solve_post(int ent, fileheader_t * fhdr, char *direct)
return DONOTHING;
}
-static int
-no_reply(int ent, fileheader_t * fhdr, char *direct)
-{
- if ((currmode & MODE_BOARD)) {
- fhdr->filemode ^= FILE_NOREPLY;
- substitute_ref_record(direct, fhdr, ent);
- return PART_REDRAW;
- }
- return DONOTHING;
-}
static int
recommend_cancel(int ent, fileheader_t * fhdr, char *direct)
@@ -2380,7 +2370,7 @@ const onekey_t read_comms[] = {
#endif
NULL, // Ctrl('H')
board_digest, // Ctrl('I') KEY_TAB 9
- no_reply, // Ctrl('J')
+ NULL, // Ctrl('J')
NULL, // Ctrl('K')
NULL, // Ctrl('L')
NULL, // Ctrl('M')