diff options
author | victor <victor@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> | 2006-04-09 15:17:40 +0800 |
---|---|---|
committer | victor <victor@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> | 2006-04-09 15:17:40 +0800 |
commit | b96cf1899551a814ddefc40e442acc00cc0f7948 (patch) | |
tree | 9671abdd889e1300d60ae45c0f89da91c4b3454b /mbbsd | |
parent | 5a9269dbc41bfec4aa8db34943584f8c125ae575 (diff) | |
download | pttbbs-b96cf1899551a814ddefc40e442acc00cc0f7948.tar pttbbs-b96cf1899551a814ddefc40e442acc00cc0f7948.tar.gz pttbbs-b96cf1899551a814ddefc40e442acc00cc0f7948.tar.bz2 pttbbs-b96cf1899551a814ddefc40e442acc00cc0f7948.tar.lz pttbbs-b96cf1899551a814ddefc40e442acc00cc0f7948.tar.xz pttbbs-b96cf1899551a814ddefc40e442acc00cc0f7948.tar.zst pttbbs-b96cf1899551a814ddefc40e442acc00cc0f7948.zip |
r4403@voyager: victor | 2006-04-09 15:12:29 +0800
filter out the bad symlink
git-svn-id: http://opensvn.csie.org/pttbbs/trunk/pttbbs@3343 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
Diffstat (limited to 'mbbsd')
-rw-r--r-- | mbbsd/board.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/mbbsd/board.c b/mbbsd/board.c index 44bc7741..d3516da7 100644 --- a/mbbsd/board.c +++ b/mbbsd/board.c @@ -377,13 +377,16 @@ load_boards(char *key) continue; if (bptr->brdattr & BRD_SYMBOLIC) { - // FIXME filter out the bad link - /* Only SYSOP knows a board is symbolic */ if (HasUserPerm(PERM_SYSOP) || HasUserPerm(PERM_SYSSUPERSUBOP)) state |= NBRD_SYMBOLIC; - else + else { bid = BRD_LINK_TARGET(bptr); + if (bcache[bid - 1].brdname[0] == 0) { + vmsg("連結已損毀,請至 SYSOP 回報此問題。"); + continue; + } + } } assert(0<=bid-1 && bid-1<MAX_BOARD); addnewbrdstat(bid-1, state); |