diff options
-rw-r--r-- | mbbsd/bbs.c | 10 | ||||
-rw-r--r-- | mbbsd/vote.c | 6 | ||||
-rw-r--r-- | util/cleanpasswd.c | 4 |
3 files changed, 16 insertions, 4 deletions
diff --git a/mbbsd/bbs.c b/mbbsd/bbs.c index 4f399c51..4806e092 100644 --- a/mbbsd/bbs.c +++ b/mbbsd/bbs.c @@ -870,7 +870,7 @@ edit_post(int ent, fileheader_t * fhdr, char *direct) return DONOTHING; if ((!HAS_PERM(PERM_SYSOP)) && - strcmp(fhdr->owner, cuser.userid)) + !(currmode & MODE_POST) && strcmp(fhdr->owner, cuser.userid)) return DONOTHING; if( currmode & MODE_SELECT ) @@ -942,6 +942,12 @@ cross_post(int ent, fileheader_t * fhdr, char *direct) char genbuf[200]; char genbuf2[4]; boardheader_t *bp; + if (!(currmode & MODE_POST)) { + move(5, 10); + outs("對不起,您目前無法轉錄文章!"); + pressanykey(); + return FULLUPDATE; + } move(2, 0); clrtoeol(); move(3, 0); @@ -1268,7 +1274,7 @@ hold_gamble(int ent, fileheader_t * fhdr, char *direct) } move(6, 0); snprintf(genbuf, sizeof(genbuf), - "請到 %s 板 按'f'參與賭博!\n\n一張 %d Ptt幣, 這是%s的賭博\n%s%s", + "請到 %s 板 按'f'參與賭博!\n\n一張 %d Ptt幣, 這是%s的賭博\n%s%s\n", currboard, i, i < 100 ? "小賭式" : i < 500 ? "平民級" : i < 1000 ? "貴族級" : i < 5000 ? "富豪級" : "傾家蕩產", diff --git a/mbbsd/vote.c b/mbbsd/vote.c index 9304a697..8b4d670b 100644 --- a/mbbsd/vote.c +++ b/mbbsd/vote.c @@ -1,4 +1,4 @@ -/* $Id: vote.c,v 1.20 2003/07/06 23:09:25 kcwu Exp $ */ +/* $Id$ */ #include "bbs.h" static int total; @@ -240,10 +240,12 @@ b_result_one(boardheader_t * fh, int ind) fgets(inbuf, sizeof(inbuf), cfp); fprintf(tfp, "\n◆投票結果:(共有 %d 人投票,每人最多可投 %d 票)\n", num, junk); + fprintf(tfp, " 選 項 總票數 得票率 得票分布\n"); while (fgets(inbuf, sizeof(inbuf), cfp)) { inbuf[(strlen(inbuf) - 1)] = '\0'; num = counts[inbuf[0] - 'A']; - fprintf(tfp, " %-42s %3d 票 %02.2f%%\n", inbuf + 3, num, + fprintf(tfp, " %-42s %3d 票 %02.2f%% %02.2f%%\n", inbuf + 3, num, + (float)(num * 100) / (float)(num), (float)(num * 100) / (float)(total)); } fclose(cfp); diff --git a/util/cleanpasswd.c b/util/cleanpasswd.c index c5f8a251..60ae650d 100644 --- a/util/cleanpasswd.c +++ b/util/cleanpasswd.c @@ -18,6 +18,10 @@ int main(int argc, char *argv[]) int i, fd, fdw; userec_t user; + setgid(BBSGID); + setuid(BBSUID); + chdir(BBSHOME); + if ((fd = open(BBSHOME"/.PASSWDS", O_RDONLY)) < 0){ perror("open .PASSWDS error"); exit(-1); |