diff options
Diffstat (limited to 'mbbsd/passwd.c')
-rw-r--r-- | mbbsd/passwd.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/mbbsd/passwd.c b/mbbsd/passwd.c index ba7e4580..f5f03ca5 100644 --- a/mbbsd/passwd.c +++ b/mbbsd/passwd.c @@ -76,12 +76,16 @@ passwd_update(int num, userec_t * buf) if (num < 1 || num > MAX_USERS) return -1; buf->money = moneyof(num); - if(usernum ==num && (currutmp->alerts & ALERT_RELOAD_PERM)) + pwdfd = currutmp->alerts; + if(usernum == num && (pwdfd & ALERT_PWD)) { userec_t u; passwd_query(num, &u); - cuser.userlevel = buf->userlevel = u.userlevel; - currutmp->alerts &= ~ALERT_RELOAD_PERM; + if(pwdfd & ALERT_PWD_BADPOST) + cuser.badpost = buf->badpost = u.badpost; + if(pwdfd & ALERT_PWD_PERM) + cuser.userlevel = buf->userlevel = u.userlevel; + currutmp->alerts &= ~ALERT_PWD; } if ((pwdfd = open(fn_passwd, O_WRONLY)) < 0) exit(1); |