diff options
-rw-r--r-- | include/proto.h | 1 | ||||
-rw-r--r-- | mbbsd/bbs.c | 9 | ||||
-rw-r--r-- | mbbsd/read.c | 6 |
3 files changed, 15 insertions, 1 deletions
diff --git a/include/proto.h b/include/proto.h index 2c9b060e..e92082c7 100644 --- a/include/proto.h +++ b/include/proto.h @@ -120,6 +120,7 @@ int getuser(const char *userid, userec_t *xuser); void setuserid(int num, const char *userid); int searchuser(const char *userid, char *rightid); int getbnum(const char *bname); +void touchbpostnum(int bid, int delta); void reset_board(int bid); void touch_boards(void); void addbrd_touchcache(void); diff --git a/mbbsd/bbs.c b/mbbsd/bbs.c index bfd3108c..e9b66a0f 100644 --- a/mbbsd/bbs.c +++ b/mbbsd/bbs.c @@ -452,7 +452,14 @@ do_crosspost(const char *brd, fileheader_t *postfile, const char *fpath) postfile->filemode = FILE_LOCAL; setbdir(genbuf, brd); if (append_record(genbuf, &fh, sizeof(fileheader_t)) != -1) { - touchbtotal(getbnum(brd)); + if(strcmp(brd, ALLPOST) == 0) + { + /* quick update */ + int bid = getbnum(ALLPOST); + touchbpostnum(bid, 1); + SHM->lastposttime[bid - 1] = now; + } else + touchbtotal(getbnum(brd)); } } static void diff --git a/mbbsd/read.c b/mbbsd/read.c index 02292db5..1629a9d1 100644 --- a/mbbsd/read.c +++ b/mbbsd/read.c @@ -627,6 +627,12 @@ i_read_key(const onekey_t * rcmdlist, keeploc_t * locmem, new_top = 0; break; + /* add home(top entry) support? */ + case KEY_HOME: + new_ln = 0; + new_top = 0; + break; + case KEY_END: case '$': new_ln = last_line; |