diff options
Diffstat (limited to 'mbbsd')
-rw-r--r-- | mbbsd/read.c | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/mbbsd/read.c b/mbbsd/read.c index 0e9974e7..cdcba6cd 100644 --- a/mbbsd/read.c +++ b/mbbsd/read.c @@ -419,7 +419,8 @@ select_read(const keeploc_t * locmem, int sr_mode) char keyword[TTLEN + 1] = ""; char genbuf[MAXPATHLEN], *p = strstr(currdirect, "SR."); static int _mode = 0; - int len, fd, fr, i, count=0, reference = 0, n_recommend = 0; + int len, fd, fr, i, count=0, reference = 0, n_recommend = 0, + n_money=0; fileheader_t *fh = &headers[locmem->crs_ln - locmem->top_ln]; STATINC(STAT_SELECTREAD); @@ -457,6 +458,15 @@ select_read(const keeploc_t * locmem, int sr_mode) keyword, 7, LCECHO) || (n_recommend = atoi(keyword)) <= 0 )) return READ_REDRAW; } + else if (sr_mode & RS_MONEY) + { + if(currstat != RMAIL && ( + !getdata(b_lines, 0, + (currmode & MODE_SELECT) ? + "增加條件 稿籌: ":"最低稿籌: ", + keyword, 7, LCECHO) || (n_money = atoi(keyword)) <= 0 )) + return READ_REDRAW; + } else { if(p && _mode & sr_mode & (RS_TITLE | RS_NEWPOST | RS_MARK)) @@ -513,6 +523,9 @@ select_read(const keeploc_t * locmem, int sr_mode) else if ((sr_mode & RS_RECOMMEND) && fhs[i].recommend < n_recommend ) continue; + else if ((sr_mode & RS_MONEY) && + fhs[i].recommend < n_money ) + continue; ++count; if(p == NULL) { @@ -598,10 +611,13 @@ i_read_key(const onekey_t * rcmdlist, keeploc_t * locmem, break; case 'a': - case 'A': mode = select_read(locmem, RS_AUTHOR); break; + case 'A': + mode = select_read(locmem, RS_MONEY); + break; + case 'G': mode = select_read(locmem, RS_MARK); break; |