diff options
Diffstat (limited to 'mbbsd/read.c')
-rw-r--r-- | mbbsd/read.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/mbbsd/read.c b/mbbsd/read.c index 97621725..85347d9e 100644 --- a/mbbsd/read.c +++ b/mbbsd/read.c @@ -1226,6 +1226,7 @@ i_read(int cmdmode, const char *direct, void (*dotitle) (), int bottom_line = 0; fileheader_t *headers0 = headers; int headers_size0 = headers_size; + time4_t enter_time = now; strlcpy(currdirect0, currdirect, sizeof(currdirect0)); #define FHSZ sizeof(fileheader_t) @@ -1237,6 +1238,15 @@ i_read(int cmdmode, const char *direct, void (*dotitle) (), mode = NEWDIRECT; do { + /* 檢查權限是否已改 */ + if (currbid > 0 && getbcache(currbid)->perm_reload > enter_time) + { + boardheader_t *bp = getbcache(currbid); + if(!HasBoardPerm(bp)) + break; + enter_time = bp->perm_reload; + } + /* 依據 mode 顯示 fileheader */ setutmpmode(cmdmode); switch (mode) { |