From c6039133a90954b11c8208fd96dade7bc19e3922 Mon Sep 17 00:00:00 2001 From: in2 Date: Thu, 27 Mar 2003 19:18:52 +0000 Subject: bug fix of moving board git-svn-id: http://opensvn.csie.org/pttbbs/pttbbs/trunk/pttbbs@735 63ad8ddf-47c3-0310-b6dd-a9e9d9715204 --- mbbsd/board.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/mbbsd/board.c b/mbbsd/board.c index fb598591..d041ec65 100644 --- a/mbbsd/board.c +++ b/mbbsd/board.c @@ -1,4 +1,4 @@ -/* $Id: board.c,v 1.108 2003/03/27 15:14:33 victor Exp $ */ +/* $Id: board.c,v 1.109 2003/03/27 19:18:52 in2 Exp $ */ #include "bbs.h" #define BRC_STRLEN 15 /* Length of board name */ #define BRC_MAXSIZE 24576 @@ -1214,16 +1214,21 @@ choose_board(int newflag) if (class_bid != 0 && (HAS_PERM(PERM_SYSOP) || (currmode & MODE_MENU))) { for (tmp = 0; tmp < fav->nDatas; tmp++) { - boardheader_t *bh = &bcache[tmp]; + short bid = fav->b[tmp].bid; + boardheader_t *bh = &bcache[ bid - 1 ]; + /* if (!(fav->b[tmp].attr & BRD_TAG) || bh->gid == class_bid) continue; + */ + if( !(fav->b[tmp].attr & BRD_TAG) ) + continue; favchange = 1; fav->b[tmp].attr &= ~BRD_TAG; if (bh->gid != class_bid) { bh->gid = class_bid; substitute_record(FN_BOARD, bh, - sizeof(boardheader_t), tmp + 1); - reset_board(tmp + 1); + sizeof(boardheader_t), bid); + reset_board(bid); log_usies("SetBoardGID", bh->brdname); } } -- cgit v1.2.3