diff options
Diffstat (limited to 'mbbsd')
-rw-r--r-- | mbbsd/bbs.c | 20 | ||||
-rw-r--r-- | mbbsd/var.c | 1 |
2 files changed, 14 insertions, 7 deletions
diff --git a/mbbsd/bbs.c b/mbbsd/bbs.c index c0105081..082bfecf 100644 --- a/mbbsd/bbs.c +++ b/mbbsd/bbs.c @@ -140,6 +140,8 @@ save_violatelaw(void) * void make_blist() { CreateNameList(); apply_boards(g_board_names); } */ +static time4_t *board_note_time = NULL; + void set_board(void) { @@ -158,6 +160,8 @@ set_board(void) hbflcheck((int)(bp - bcache) + 1, currutmp->uid) ) vmsg("進入未經授權看板"); + board_note_time = &bp->bupdate; + if(bp->BM[0] <= ' ') strcpy(currBM, "徵求中"); else @@ -3401,7 +3405,6 @@ Read(void) int mode0 = currutmp->mode; int stat0 = currstat, tmpbid = currutmp->brc_id; char buf[PATHLEN]; - int tmp; #ifdef LOG_BOARD time4_t usetime = now; #endif @@ -3412,13 +3415,16 @@ Read(void) setutmpmode(READING); set_board(); - setbfile(buf, currboard, fn_notes); - tmp = more(buf, NA); - if (tmp < 0) - /* do nothing */; - else if (tmp != READ_NEXT) - pressanykey(); + if (board_note_time && board_visit_time < *board_note_time) { + int mr; + setbfile(buf, currboard, fn_notes); + mr = more(buf, NA); + if(mr == -1) + *board_note_time=0; + else if (mr != READ_NEXT) + pressanykey(); + } setutmpbid(currbid); setbdir(buf, currboard); curredit &= ~EDIT_MAIL; diff --git a/mbbsd/var.c b/mbbsd/var.c index 15aea968..e44abd9d 100644 --- a/mbbsd/var.c +++ b/mbbsd/var.c @@ -377,6 +377,7 @@ char currdirect[64]; char save_title[STRLEN]; /* bbs.c */ +time4_t board_visit_time = 0; char real_name[IDLEN + 1]; char local_article; |