summaryrefslogtreecommitdiffstats
path: root/util/writemoney.c
diff options
context:
space:
mode:
authorwens <wens@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2005-07-08 08:52:38 +0800
committerwens <wens@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2005-07-08 08:52:38 +0800
commit423bb721d02630666d5689d1fbe0b8040e6fb5e0 (patch)
tree61d13c1903caa51b0b46e0900b7de753cbb33fee /util/writemoney.c
parentda4d3a9cb114eaf7a8ed47757c82a08e19a39919 (diff)
downloadpttbbs-423bb721d02630666d5689d1fbe0b8040e6fb5e0.tar
pttbbs-423bb721d02630666d5689d1fbe0b8040e6fb5e0.tar.gz
pttbbs-423bb721d02630666d5689d1fbe0b8040e6fb5e0.tar.bz2
pttbbs-423bb721d02630666d5689d1fbe0b8040e6fb5e0.tar.lz
pttbbs-423bb721d02630666d5689d1fbe0b8040e6fb5e0.tar.xz
pttbbs-423bb721d02630666d5689d1fbe0b8040e6fb5e0.tar.zst
pttbbs-423bb721d02630666d5689d1fbe0b8040e6fb5e0.zip
add util to write money in SHM back to disk.
SVN keywords. fix bid output in showboard. git-svn-id: http://opensvn.csie.org/pttbbs/trunk/pttbbs@2919 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
Diffstat (limited to 'util/writemoney.c')
-rw-r--r--util/writemoney.c39
1 files changed, 39 insertions, 0 deletions
diff --git a/util/writemoney.c b/util/writemoney.c
new file mode 100644
index 00000000..0db8d99d
--- /dev/null
+++ b/util/writemoney.c
@@ -0,0 +1,39 @@
+/* $Id$ */
+/* 把 SHM 中的 money 全部寫回 .PASSWDS */
+#define _UTIL_C_
+#include "bbs.h"
+
+time4_t now;
+extern SHM_t *SHM;
+
+int invalid(char *userid) {
+ int i;
+
+ if(!isalpha(userid[0]))
+ return 1;
+
+ for(i = 1; i < IDLEN && userid[i]; i++)
+ if(!isalpha(userid[i]) && !isdigit(userid[i]))
+ return 1;
+ return 0;
+}
+
+int main()
+{
+ int num, pwdfd, money;
+ userec_t u;
+
+ attach_SHM();
+
+ if ((pwdfd = open(fn_passwd, O_WRONLY)) < 0)
+ exit(1);
+ for (num=1;num <= SHM->number;num++) {
+ lseek(pwdfd, sizeof(userec_t) * (num - 1) +
+ ((char *)&u.money - (char *)&u), SEEK_SET);
+ money = moneyof(num);
+ write(pwdfd, &money, sizeof(int));
+ }
+ close(pwdfd);
+
+ return 0;
+}