summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorptt <ptt@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2005-08-06 01:22:02 +0800
committerptt <ptt@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2005-08-06 01:22:02 +0800
commit7fe0f796e47c21a8975c956830f0b63f024e35d2 (patch)
tree3c37750f94806f3407d14a6d9b54f3048e04657b
parent8d9c25ecd715a6c62755e4dd036c15fb601c975c (diff)
downloadpttbbs-7fe0f796e47c21a8975c956830f0b63f024e35d2.tar
pttbbs-7fe0f796e47c21a8975c956830f0b63f024e35d2.tar.gz
pttbbs-7fe0f796e47c21a8975c956830f0b63f024e35d2.tar.bz2
pttbbs-7fe0f796e47c21a8975c956830f0b63f024e35d2.tar.lz
pttbbs-7fe0f796e47c21a8975c956830f0b63f024e35d2.tar.xz
pttbbs-7fe0f796e47c21a8975c956830f0b63f024e35d2.tar.zst
pttbbs-7fe0f796e47c21a8975c956830f0b63f024e35d2.zip
fix incremental search bug.
git-svn-id: http://opensvn.csie.org/pttbbs/trunk/pttbbs@2994 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
-rw-r--r--mbbsd/read.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/mbbsd/read.c b/mbbsd/read.c
index 81e708ae..79b09708 100644
--- a/mbbsd/read.c
+++ b/mbbsd/read.c
@@ -452,7 +452,7 @@ select_read(const keeploc_t * locmem, int sr_mode)
}
else if (sr_mode & RS_RECOMMEND)
{
- if(currstat != RMAIL && (
+ if(currstat == RMAIL || (
!getdata(b_lines, 0,
(currmode & MODE_SELECT) ?
"增加條件 推文數: ":"搜尋推文數高於多少的文章: ",
@@ -461,13 +461,14 @@ select_read(const keeploc_t * locmem, int sr_mode)
}
else if (sr_mode & RS_MONEY)
{
- /* 增加條件應該不會動? see view_postmoney */
+ /* 增加條件應該不會動?
+ Ptt: still happens.
if (currmode & MODE_SELECT)
{
vmsg("請先離開目前的選擇/搜尋模式再搜尋文章價格");
return READ_REDRAW;
- }
- if(currstat != RMAIL && (
+ } */
+ if(currstat == RMAIL || (
!getdata(b_lines, 0,
(currmode & MODE_SELECT) ? // 先留著吧,雖然應該不用
"增加條件 文章價格: ":"搜尋價格高於多少的文章: ",
@@ -511,7 +512,7 @@ select_read(const keeploc_t * locmem, int sr_mode)
count=0;
}
else
- len = O_APPEND;
+ len = O_APPEND | O_RDWR;
if( (fd = open(newdirect, len, 0600)) == -1 )
return READ_REDRAW;
@@ -522,7 +523,10 @@ select_read(const keeploc_t * locmem, int sr_mode)
sprintf(fhs[0].filename, "X.%d", (int)filetime);
len = - getindex(currdirect, &fhs[0], 0);
if(len>0)
+ {
lseek(fr, len*sizeof(fileheader_t), SEEK_SET);
+ reference = len;
+ }
}
while( (len = read(fr, fhs, sizeof(fhs))) > 0 ){