diff options
Diffstat (limited to 'mbbsd/read.c')
-rw-r--r-- | mbbsd/read.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/mbbsd/read.c b/mbbsd/read.c index 73cf2b90..694eee82 100644 --- a/mbbsd/read.c +++ b/mbbsd/read.c @@ -574,6 +574,22 @@ select_read(const keeploc_t * locmem, int sr_mode) filetime = dasht(newdirect); count = dashs(newdirect) / sizeof(fileheader_t); + if (currstat != RMAIL && currboard[0] && currbid > 0) + { + time4_t filecreate = dashc(newdirect); + boardheader_t *bp = getbcache(currbid); + assert(bp); + + if (bp->SRexpire) + { + if (bp->SRexpire > now) // invalid expire time. + bp->SRexpire = now; + + if (bp->SRexpire > filecreate) + filetime = -1; + } + } + if(filetime<0 || now-filetime>60*60) { reload = 1; inc = 0; |