summaryrefslogtreecommitdiffstats
path: root/mbbsd
diff options
context:
space:
mode:
authorptt <ptt@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2005-06-23 03:58:13 +0800
committerptt <ptt@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2005-06-23 03:58:13 +0800
commite549a5c27776230c6d27593bc4e95b1653919539 (patch)
tree6587c7eb0d9be3b94f51286fd6eaf78106530f9a /mbbsd
parent5e10c5d354c76b1501c8d44320513412acea620c (diff)
downloadpttbbs-e549a5c27776230c6d27593bc4e95b1653919539.tar
pttbbs-e549a5c27776230c6d27593bc4e95b1653919539.tar.gz
pttbbs-e549a5c27776230c6d27593bc4e95b1653919539.tar.bz2
pttbbs-e549a5c27776230c6d27593bc4e95b1653919539.tar.lz
pttbbs-e549a5c27776230c6d27593bc4e95b1653919539.tar.xz
pttbbs-e549a5c27776230c6d27593bc4e95b1653919539.tar.zst
pttbbs-e549a5c27776230c6d27593bc4e95b1653919539.zip
add one function in select_read().
exclusive search result git-svn-id: http://opensvn.csie.org/pttbbs/trunk/pttbbs@2859 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
Diffstat (limited to 'mbbsd')
-rw-r--r--mbbsd/read.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/mbbsd/read.c b/mbbsd/read.c
index 5988a5ea..2a4a3c63 100644
--- a/mbbsd/read.c
+++ b/mbbsd/read.c
@@ -416,6 +416,13 @@ select_read(const keeploc_t * locmem, int sr_mode)
"%s:%s\n", currboard, keyword);
#endif
}
+ else if(sr_mode & RS_NOKEYWORD)
+ {
+ if(!(currmode & MODE_SELECT) ||
+ !getdata(b_lines, 0, "增加條件 排除標題:",
+ keyword, TTLEN, DOECHO))
+ return READ_REDRAW;
+ }
else
{
if(p && _mode & sr_mode & (RS_TITLE | RS_NEWPOST | RS_MARK))
@@ -463,6 +470,9 @@ select_read(const keeploc_t * locmem, int sr_mode)
else if(sr_mode & RS_KEYWORD &&
!strcasestr(fhs[i].title, keyword))
continue;
+ else if(sr_mode & RS_NOKEYWORD &&
+ strcasestr(fhs[i].title, keyword))
+ continue;
else if(sr_mode & RS_TITLE &&
strcmp(subject(fhs[i].title), keyword))
continue;
@@ -564,6 +574,10 @@ i_read_key(const onekey_t * rcmdlist, keeploc_t * locmem,
mode = select_read(locmem, RS_TITLE);
break;
+ case '!':
+ mode = select_read(locmem, RS_NOKEYWORD);
+ break;
+
case '=':
new_ln = thread(locmem, RELATE_FIRST);
break;