summaryrefslogtreecommitdiffstats
path: root/util/zero_limits.c
diff options
context:
space:
mode:
authorwens <wens@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2005-01-07 17:50:45 +0800
committerwens <wens@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2005-01-07 17:50:45 +0800
commit2409b9e7fc94c497502e83ff07de7142888a3009 (patch)
tree2119bdbd1dc059866aedc4eb1bd49a50068263e7 /util/zero_limits.c
parent60b225b0159f59b97ec191474618e9b09e6cfe9a (diff)
downloadpttbbs-2409b9e7fc94c497502e83ff07de7142888a3009.tar
pttbbs-2409b9e7fc94c497502e83ff07de7142888a3009.tar.gz
pttbbs-2409b9e7fc94c497502e83ff07de7142888a3009.tar.bz2
pttbbs-2409b9e7fc94c497502e83ff07de7142888a3009.tar.lz
pttbbs-2409b9e7fc94c497502e83ff07de7142888a3009.tar.xz
pttbbs-2409b9e7fc94c497502e83ff07de7142888a3009.tar.zst
pttbbs-2409b9e7fc94c497502e83ff07de7142888a3009.zip
add post limits for BM.
rename "do_votelimitedit" to "do_limitedit". rename "zerovotelimit.c" to "zero_limits.c". git-svn-id: http://opensvn.csie.org/pttbbs/trunk/pttbbs@2388 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
Diffstat (limited to 'util/zero_limits.c')
-rw-r--r--util/zero_limits.c49
1 files changed, 49 insertions, 0 deletions
diff --git a/util/zero_limits.c b/util/zero_limits.c
new file mode 100644
index 00000000..e9824ff5
--- /dev/null
+++ b/util/zero_limits.c
@@ -0,0 +1,49 @@
+#include "bbs.h"
+
+/* Vote limits were added in r2342 which uses previously unused pads.
+ * This program zero outs those pads. */
+
+void transform(boardheader_t *new, boardheader_t *old)
+{
+ memcpy(new, old, sizeof(boardheader_t));
+ new->post_limit_posts = (unsigned char) 0;
+ new->post_limit_logins = (unsigned char) 0;
+ new->vote_limit_posts = (unsigned char) 0;
+ new->vote_limit_logins = (unsigned char) 0;
+ memset(new->pad, 0, sizeof(new->pad));
+ memset(new->pad2, 0, sizeof(new->pad2));
+ memset(new->pad3, 0, sizeof(new->pad3));
+}
+
+int main(void)
+{
+ int fd, fdw;
+ boardheader_t new, old;
+
+ printf("You're going to zero out vote limits in your .BRD\n");
+ printf("The new file will be named .BRD.trans.tmp\n");
+/*
+ printf("Press any key to continue\n");
+ getchar();
+*/
+
+ if (chdir(BBSHOME) < 0) {
+ perror("chdir");
+ exit(-1);
+ }
+
+ if ((fd = open(FN_BOARD, O_RDONLY)) < 0 ||
+ (fdw = open(FN_BOARD".trans.tmp", O_WRONLY | O_CREAT | O_TRUNC, 0600)) < 0 ) {
+ perror("open");
+ exit(-1);
+ }
+
+ while (read(fd, &old, sizeof(old)) > 0) {
+ transform(&new, &old);
+ write(fdw, &new, sizeof(new));
+ }
+
+ close(fd);
+ close(fdw);
+ return 0;
+}