diff options
author | ptt <ptt@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> | 2004-03-24 00:12:54 +0800 |
---|---|---|
committer | ptt <ptt@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> | 2004-03-24 00:12:54 +0800 |
commit | efb5a6333d3fe1b4e9f3c744d6be6aaab27504e9 (patch) | |
tree | aa3e9d28823a9d1a0d534a1db9e9c056e4357608 /mbbsd/read.c | |
parent | 876e06732592fefb6ac7fb9d4530105ad29045ff (diff) | |
download | pttbbs-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.c | 18 |
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; |