summaryrefslogtreecommitdiffstats
path: root/mbbsd/board.c
diff options
context:
space:
mode:
authorvictor <victor@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2006-04-09 15:17:40 +0800
committervictor <victor@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2006-04-09 15:17:40 +0800
commitb96cf1899551a814ddefc40e442acc00cc0f7948 (patch)
tree9671abdd889e1300d60ae45c0f89da91c4b3454b /mbbsd/board.c
parent5a9269dbc41bfec4aa8db34943584f8c125ae575 (diff)
downloadpttbbs-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/board.c')
-rw-r--r--mbbsd/board.c9
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);