diff options
author | wens <wens@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> | 2005-07-08 08:52:38 +0800 |
---|---|---|
committer | wens <wens@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> | 2005-07-08 08:52:38 +0800 |
commit | 423bb721d02630666d5689d1fbe0b8040e6fb5e0 (patch) | |
tree | 61d13c1903caa51b0b46e0900b7de753cbb33fee /util/writemoney.c | |
parent | da4d3a9cb114eaf7a8ed47757c82a08e19a39919 (diff) | |
download | pttbbs-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.c | 39 |
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; +} |