From f13cadf70e1c22bad218cd1d8df9910b1dbceeb3 Mon Sep 17 00:00:00 2001 From: piaip Date: Sun, 23 Dec 2007 08:23:58 +0000 Subject: - add Q and improve return value definition in pager git-svn-id: http://opensvn.csie.org/pttbbs/trunk/pttbbs@3729 63ad8ddf-47c3-0310-b6dd-a9e9d9715204 --- include/modes.h | 6 ++++++ mbbsd/bbs.c | 8 ++++++-- mbbsd/pmore.c | 13 +++++++++++-- 3 files changed, 23 insertions(+), 4 deletions(-) diff --git a/include/modes.h b/include/modes.h index 24b8a01a..18eb9487 100644 --- a/include/modes.h +++ b/include/modes.h @@ -2,6 +2,7 @@ #ifndef INCLUDE_MODES_H #define INCLUDE_MODES_H +/* common return values of read.c */ #define DONOTHING 0 /* Read menu command return states */ #define FULLUPDATE 1 /* Entire screen was destroyed in this oper */ #define PARTUPDATE 2 /* Only the top three lines were destroyed */ @@ -16,6 +17,11 @@ #define READ_SKIP 12 #define HEADERS_RELOAD 13 +// values returned by pager +#define RET_DOREPLY (999) +#define RET_DORECOMMEND (998) +#define RET_DOQUERYINFO (997) + /* user 操作狀態與模式 */ #define IDLE 0 #define MMENU 1 /* menu mode */ diff --git a/mbbsd/bbs.c b/mbbsd/bbs.c index e24f0e4f..5baeb752 100644 --- a/mbbsd/bbs.c +++ b/mbbsd/bbs.c @@ -13,6 +13,7 @@ static int recommend(int ent, fileheader_t * fhdr, const char *direct); static int do_add_recommend(const char *direct, fileheader_t *fhdr, int ent, const char *buf, int type); +static int view_postinfo(int ent, const fileheader_t * fhdr, const char *direct, int crs_ln); #ifdef ASSESS static char * const badpost_reason[] = { @@ -1865,12 +1866,15 @@ read_post(int ent, fileheader_t * fhdr, const char *direct) clear(); vmsg("此文章無內容"); return FULLUPDATE; - case 999: + case RET_DOREPLY: do_reply(fhdr); return FULLUPDATE; - case 998: + case RET_DORECOMMEND: recommend(ent, fhdr, direct); return FULLUPDATE; + case RET_DOQUERYINFO: + view_postinfo(ent, fhdr, direct, b_lines-3); + return FULLUPDATE; } if(more_result) return more_result; diff --git a/mbbsd/pmore.c b/mbbsd/pmore.c index fe39a389..87544bf0 100644 --- a/mbbsd/pmore.c +++ b/mbbsd/pmore.c @@ -2040,15 +2040,24 @@ pmore(char *fpath, int promptend) ch = igetch(); switch (ch) { /* ------------------ EXITING KEYS ------------------ */ +#ifdef RET_DOREPLY case 'r': case 'R': case 'Y': case 'y': - flExit = 1, retval = 999; + flExit = 1, retval = RET_DOREPLY; break; +#endif +#ifdef RET_DORECOMMEND // recommend case '%': case 'X': - flExit = 1, retval = 998; + flExit = 1, retval = RET_DORECOMMEND; + break; +#endif +#ifdef RET_DOQUERYINFO + case 'Q': // info query interface + flExit = 1, retval = RET_DOQUERYINFO; break; +#endif case 'A': flExit = 1, retval = AUTHOR_PREV; break; -- cgit v1.2.3