summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpiaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2010-07-14 21:39:52 +0800
committerpiaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2010-07-14 21:39:52 +0800
commit72f887a335100714f89c8b80b0ababc4e1839067 (patch)
tree3c9f596779f8581f1af4d183b7c72869abe6e0bd
parent57ef695f77b2292fd296c5e01be8f6dab73a67db (diff)
downloadpttbbs-72f887a335100714f89c8b80b0ababc4e1839067.tar
pttbbs-72f887a335100714f89c8b80b0ababc4e1839067.tar.gz
pttbbs-72f887a335100714f89c8b80b0ababc4e1839067.tar.bz2
pttbbs-72f887a335100714f89c8b80b0ababc4e1839067.tar.lz
pttbbs-72f887a335100714f89c8b80b0ababc4e1839067.tar.xz
pttbbs-72f887a335100714f89c8b80b0ababc4e1839067.tar.zst
pttbbs-72f887a335100714f89c8b80b0ababc4e1839067.zip
* fix toplazyBM
git-svn-id: http://opensvn.csie.org/pttbbs/trunk@5091 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
-rw-r--r--pttbbs/util/toplazyBM.c18
1 files changed, 17 insertions, 1 deletions
diff --git a/pttbbs/util/toplazyBM.c b/pttbbs/util/toplazyBM.c
index e2bc0a6b..80f4f8b0 100644
--- a/pttbbs/util/toplazyBM.c
+++ b/pttbbs/util/toplazyBM.c
@@ -112,6 +112,7 @@ int main(int argc, char *argv[])
xuser.userlevel &= ~PERM_BM;
bms[index].flag = 1;
flag = 1;
+ // NOTE: 好像不改也無所謂,目前拔 BM 是自動的。
passwd_update(bmid, &xuser);
}
j++;
@@ -120,6 +121,18 @@ int main(int argc, char *argv[])
}
if (flag == 1) {
+ boardheader_t *bp = getbcache(i+1);
+
+ // 確認我們沒搞錯 cache. 如果 cache 炸了就別用了
+ if (strcmp(bp->brdname, allbrd[i].brdname) != 0) {
+ printf("ERROR: unmatched cache!!! (%s - %s)\n",
+ bp->brdname, allbrd[i].brdname);
+ bp = NULL;
+ exit(1);
+ // sync to latest
+ memcpy(&allbrd[i], bp, sizeof(boardheader_t));
+ }
+
bmbuf[0] = '\0';
for (k = 0, n = 0; k < index; k++) {
if (!bms[k].flag) {
@@ -128,9 +141,12 @@ int main(int argc, char *argv[])
}
}
strcpy(allbrd[i].BM, bmbuf);
+ printf("board %s: %s -> %s\n",
+ allbrd[i].brdname, bp->BM, allbrd[i].BM);
+ strcpy(bp->BM, allbrd[i].BM);
if (substitute_record(BBSHOME"/"FN_BOARD, &allbrd[i],
sizeof(boardheader_t), i+1) == -1) {
- printf("Update Board Faile : %s\n", allbrd[i].brdname);
+ printf("Update Board Failed: %s\n", allbrd[i].brdname);
}
reset_board(i+1);
}