summaryrefslogtreecommitdiffstats
path: root/mbbsd/user.c
diff options
context:
space:
mode:
authorpiaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2005-06-09 17:46:23 +0800
committerpiaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2005-06-09 17:46:23 +0800
commit90a92cc9ad9a39a8f4af5394f103c9017ddd1b1d (patch)
treea965b03d84709681bd591e72b07f4aa6c3285c56 /mbbsd/user.c
parentc7b5495e9dc10baf23bb3a781fc30c0a3f017aac (diff)
downloadpttbbs-90a92cc9ad9a39a8f4af5394f103c9017ddd1b1d.tar
pttbbs-90a92cc9ad9a39a8f4af5394f103c9017ddd1b1d.tar.gz
pttbbs-90a92cc9ad9a39a8f4af5394f103c9017ddd1b1d.tar.bz2
pttbbs-90a92cc9ad9a39a8f4af5394f103c9017ddd1b1d.tar.lz
pttbbs-90a92cc9ad9a39a8f4af5394f103c9017ddd1b1d.tar.xz
pttbbs-90a92cc9ad9a39a8f4af5394f103c9017ddd1b1d.tar.zst
pttbbs-90a92cc9ad9a39a8f4af5394f103c9017ddd1b1d.zip
user: don't update passwd so frequently
pmore: trying to make raw-ansi mode better git-svn-id: http://opensvn.csie.org/pttbbs/trunk/pttbbs@2815 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
Diffstat (limited to 'mbbsd/user.c')
-rw-r--r--mbbsd/user.c18
1 files changed, 12 insertions, 6 deletions
diff --git a/mbbsd/user.c b/mbbsd/user.c
index fa97f55f..2fea2b84 100644
--- a/mbbsd/user.c
+++ b/mbbsd/user.c
@@ -268,6 +268,7 @@ violate_law(userec_t * u, int unum)
void Customize(void)
{
char done = 0, mindbuf[5];
+ int dirty = 0;
int key;
char *wm[3] = {"一般", "進階", "未來"};
#ifdef PLAY_ANGEL
@@ -277,7 +278,7 @@ void Customize(void)
showtitle("個人化設定", "個人化設定");
memcpy(mindbuf, &currutmp->mind, 4);
mindbuf[4] = 0;
- while( !done ){
+ while( !done ) {
char maxc = 'a';
move(2, 0);
outs("您目前的個人化設定: ");
@@ -308,7 +309,9 @@ void Customize(void)
((cuser.uflag & DBCSAWARE_FLAG) ? "是" : "否"));
maxc = 'i';
#endif
- key = getkey("請按 [a-%c] 切換設定,按 [Return] 結束:", maxc);
+ key = getkey("請按 [a-%c] 切換設定,按 [Return] 結束:", maxc);
+
+ dirty++;
switch (tolower(key)) {
case 'a':{
@@ -347,16 +350,16 @@ void Customize(void)
case 'g':
if( HAS_PERM(PERM_ANGEL) ){
SwitchBeingAngel();
- break;
}
- done = 1;
+ else
+ done = 1;
break;
case 'h':
if( HAS_PERM(PERM_ANGEL) ){
SwitchAngelSex(ANGEL_STATUS() + 1);
- break;
}
+ break;
#endif
#ifdef DBCSAWARE
@@ -380,10 +383,13 @@ void Customize(void)
#endif
default:
+ dirty --;
done = 1;
+ break;
}
- passwd_update(usernum, &cuser);
}
+ if(dirty)
+ passwd_update(usernum, &cuser);
vmsg("設定完成");
}