summaryrefslogtreecommitdiffstats
path: root/mbbsd/bbs.c
diff options
context:
space:
mode:
authorpiaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2008-02-26 00:35:38 +0800
committerpiaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2008-02-26 00:35:38 +0800
commit31077a7c833e60121e843456d52fbbb5bda88ddb (patch)
tree31d04e86bc068409199810743c221a74636f8302 /mbbsd/bbs.c
parent88b4d69ded90aac6895d9619d1a786b3f4c2a8ad (diff)
downloadpttbbs-31077a7c833e60121e843456d52fbbb5bda88ddb.tar
pttbbs-31077a7c833e60121e843456d52fbbb5bda88ddb.tar.gz
pttbbs-31077a7c833e60121e843456d52fbbb5bda88ddb.tar.bz2
pttbbs-31077a7c833e60121e843456d52fbbb5bda88ddb.tar.lz
pttbbs-31077a7c833e60121e843456d52fbbb5bda88ddb.tar.xz
pttbbs-31077a7c833e60121e843456d52fbbb5bda88ddb.tar.zst
pttbbs-31077a7c833e60121e843456d52fbbb5bda88ddb.zip
- b_config: more detail hints on user post permission checking
- bcache code refine git-svn-id: http://opensvn.csie.org/pttbbs/trunk/pttbbs@3948 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
Diffstat (limited to 'mbbsd/bbs.c')
-rw-r--r--mbbsd/bbs.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/mbbsd/bbs.c b/mbbsd/bbs.c
index b1b616e3..beb48a8c 100644
--- a/mbbsd/bbs.c
+++ b/mbbsd/bbs.c
@@ -360,17 +360,20 @@ CheckPostPerm(void)
int CheckPostRestriction(int bid)
{
+ boardheader_t *bp;
if ((currmode & MODE_BOARD) || HasUserPerm(PERM_SYSOP))
return 1;
+ assert(0<=bid-1 && bid-1<MAX_BOARD);
+ bp = getbcache(bid);
// check first-login
- if (cuser.firstlogin > (now - (time4_t)bcache[bid - 1].post_limit_regtime * 2592000))
+ if (cuser.firstlogin > (now - (time4_t)bp->post_limit_regtime * 2592000))
return 0;
- if (cuser.numlogins / 10 < (unsigned int)bcache[bid - 1].post_limit_logins)
+ if (cuser.numlogins / 10 < (unsigned int)bp->post_limit_logins)
return 0;
- if (cuser.numposts / 10 < (unsigned int)bcache[bid - 1].post_limit_posts)
+ if (cuser.numposts / 10 < (unsigned int)bp->post_limit_posts)
return 0;
- if (cuser.badpost > (255 - (unsigned int)bcache[bid - 1].post_limit_badpost))
+ if (cuser.badpost > (255 - (unsigned int)bp->post_limit_badpost))
return 0;
return 1;