diff options
author | victor <victor@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> | 2003-11-04 20:10:28 +0800 |
---|---|---|
committer | victor <victor@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> | 2003-11-04 20:10:28 +0800 |
commit | eb618f821e16c7c27e59f302b02ef309b4094f0f (patch) | |
tree | 12aaaed893d03f73c9c5b62d8f232bb519300268 | |
parent | 75c3618ae50422d29259dc57d263a8bcbb7fc28b (diff) | |
download | pttbbs-eb618f821e16c7c27e59f302b02ef309b4094f0f.tar pttbbs-eb618f821e16c7c27e59f302b02ef309b4094f0f.tar.gz pttbbs-eb618f821e16c7c27e59f302b02ef309b4094f0f.tar.bz2 pttbbs-eb618f821e16c7c27e59f302b02ef309b4094f0f.tar.lz pttbbs-eb618f821e16c7c27e59f302b02ef309b4094f0f.tar.xz pttbbs-eb618f821e16c7c27e59f302b02ef309b4094f0f.tar.zst pttbbs-eb618f821e16c7c27e59f302b02ef309b4094f0f.zip |
allow bm to decide whether to up-ten-big
git-svn-id: http://opensvn.csie.org/pttbbs/trunk/pttbbs@1295 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
-rw-r--r-- | mbbsd/bbs.c | 53 |
1 files changed, 40 insertions, 13 deletions
diff --git a/mbbsd/bbs.c b/mbbsd/bbs.c index 07fa4022..1b55ff21 100644 --- a/mbbsd/bbs.c +++ b/mbbsd/bbs.c @@ -883,7 +883,7 @@ edit_post(int ent, fileheader_t * fhdr, char *direct) strlcpy(genbuf, fhdr->filename, sizeof(genbuf)); setbfile(fpath0, currboard, fhdr->filename); - for(num = 2; genbuf[num] != NULL; num++){ + for(num = 2; genbuf[num] != 0; num++){ if(genbuf[num] == '.'){ genbuf[num] = 0; break; @@ -2293,7 +2293,6 @@ change_hidden(int ent, fileheader_t * fhdr, char *direct) { boardheader_t bh; int bid; - char ans[4]; if (!((currmode & MODE_BOARD) || HAS_PERM(PERM_SYSOP)) || currboard[0] == 0 || @@ -2302,26 +2301,20 @@ change_hidden(int ent, fileheader_t * fhdr, char *direct) return DONOTHING; if (((bh.brdattr & BRD_HIDE) && (bh.brdattr & BRD_POSTMASK))) { - getdata(1, 0, "�ثe�O�b���Ϊ��A, �n�����ι�(Y/N)?[N]", - ans, sizeof(ans), LCECHO); - if (ans[0] != 'y' && ans[0] != 'Y') + if (getans("�ثe�O�b���Ϊ��A, �n�����ι�(Y/N)?[N]") != 'y') return FULLUPDATE; - getdata(2, 0, "�A�T�{�@��, �u���n��O�O���}�� @____@(Y/N)?[N]", - ans, sizeof(ans), LCECHO); - if (ans[0] != 'y' && ans[0] != 'Y') + if (getans("�A�T�{�@��, �u���n��O�O���}�� @____@(Y/N)?[N]") != 'y') return FULLUPDATE; if (bh.brdattr & BRD_HIDE) - bh.brdattr -= BRD_HIDE; + bh.brdattr &= ~BRD_HIDE; if (bh.brdattr & BRD_POSTMASK) - bh.brdattr -= BRD_POSTMASK; + bh.brdattr &= ~BRD_POSTMASK; log_usies("OpenBoard", bh.brdname); outs("�g�ߤ��Dz��H�A�L�B���D���q�C\n"); board_hidden_status = 0; hbflreload(bid); } else { - getdata(1, 0, "�ثe�O�b�{�Ϊ��A, �n���ι�(Y/N)?[N]", - ans, sizeof(ans), LCECHO); - if (ans[0] != 'y' && ans[0] != 'Y') + if (getans("�ثe�O�b�{�Ϊ��A, �n���ι�(Y/N)?[N]") != 'y') return FULLUPDATE; bh.brdattr |= BRD_HIDE; bh.brdattr |= BRD_POSTMASK; @@ -2336,6 +2329,39 @@ change_hidden(int ent, fileheader_t * fhdr, char *direct) pressanykey(); return FULLUPDATE; } + +static int +change_counting(int ent, fileheader_t * fhdr, char *direct) +{ + boardheader_t bh; + int bid; + + if (!((currmode & MODE_BOARD) || HAS_PERM(PERM_SYSOP)) || + currboard[0] == 0 || + (bid = getbnum(currboard)) < 0 || + get_record(fn_board, &bh, sizeof(bh), bid) == -1) + return DONOTHING; + + if (bh.brdattr & BRD_BMCOUNT) { + if (getans("�ثe�O�C�J�Q�j�Ʀ�, �n�����C�J�Q�j�Ʀ��(Y/N)?[N]") != 'y') + return FULLUPDATE; + bh.brdattr |= BRD_BMCOUNT; + log_usies("NoCountBoard", bh.brdname); + outs("�A�A����]���|���Q�j���r�C\n"); + } else { + if (getans("�ثe�ݪO���C�J�Q�j�Ʀ�, �n�C�J�Q�j��(Y/N)?[N]") != 'y') + return FULLUPDATE; + if (bh.brdattr & BRD_BMCOUNT) + bh.brdattr &= ~BRD_BMCOUNT; + log_usies("CountBoard", bh.brdname); + outs("������ĤQ�j�Ĥ@�a�C\n"); + } + substitute_record(fn_board, &bh, sizeof(bh), bid); + log_usies("SetBoard", bh.brdname); + pressanykey(); + return FULLUPDATE; +} + #endif /* ----------------------------------------------------- */ @@ -2357,6 +2383,7 @@ struct onekey_t read_comms[] = { {'g', good_post}, #ifdef BMCHS {'H', change_hidden}, + {Ctrl('N'), change_counting}, #endif {'h', b_help}, {'I', b_changerecommend}, |