summaryrefslogtreecommitdiffstats
path: root/mbbsd/read.c
diff options
context:
space:
mode:
authorptt <ptt@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2004-03-24 00:12:54 +0800
committerptt <ptt@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2004-03-24 00:12:54 +0800
commitefb5a6333d3fe1b4e9f3c744d6be6aaab27504e9 (patch)
treeaa3e9d28823a9d1a0d534a1db9e9c056e4357608 /mbbsd/read.c
parent876e06732592fefb6ac7fb9d4530105ad29045ff (diff)
downloadpttbbs-efb5a6333d3fe1b4e9f3c744d6be6aaab27504e9.tar
pttbbs-efb5a6333d3fe1b4e9f3c744d6be6aaab27504e9.tar.gz
pttbbs-efb5a6333d3fe1b4e9f3c744d6be6aaab27504e9.tar.bz2
pttbbs-efb5a6333d3fe1b4e9f3c744d6be6aaab27504e9.tar.lz
pttbbs-efb5a6333d3fe1b4e9f3c744d6be6aaab27504e9.tar.xz
pttbbs-efb5a6333d3fe1b4e9f3c744d6be6aaab27504e9.tar.zst
pttbbs-efb5a6333d3fe1b4e9f3c744d6be6aaab27504e9.zip
fix the problem of black hole
git-svn-id: http://opensvn.csie.org/pttbbs/trunk/pttbbs@1602 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
Diffstat (limited to 'mbbsd/read.c')
-rw-r--r--mbbsd/read.c18
1 files changed, 15 insertions, 3 deletions
diff --git a/mbbsd/read.c b/mbbsd/read.c
index 1c2e5de1..47c63c3c 100644
--- a/mbbsd/read.c
+++ b/mbbsd/read.c
@@ -891,14 +891,26 @@ i_read(int cmdmode, char *direct, void (*dotitle) (), void (*doentry) (), onekey
}
#if DIRCACHESIZE
if( bidcache > 0 &&
- !(currmode & (MODE_SELECT | MODE_DIGEST)) &&
- (last_line - recbase) < DIRCACHESIZE )
- entries = get_fileheader_cache(currbid, currdirect,
+ !(currmode & (MODE_SELECT | MODE_DIGEST)))
+ {
+ if((last_line - recbase) < DIRCACHESIZE )
+ entries = get_fileheader_cache(currbid, currdirect,
headers, recbase, p_lines);
+ else
+ entries = get_records(currdirect, headers, FHSZ,
+ recbase, p_lines);
+ if (entries < 0)
+ {
+ setbtotal(currbid);
+ last_line = getbtotal(currbid);
+ }
+ }
else
#endif
entries = get_records(currdirect, headers, FHSZ, recbase,
p_lines);
+
+
}
if (locmem->crs_ln > last_line)
locmem->crs_ln = last_line;