diff options
Diffstat (limited to 'mbbsd/user.c')
-rw-r--r-- | mbbsd/user.c | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/mbbsd/user.c b/mbbsd/user.c index a0be22e3..c5a501eb 100644 --- a/mbbsd/user.c +++ b/mbbsd/user.c @@ -5,7 +5,15 @@ static char *sex[8] = { MSG_BIG_BOY, MSG_BIG_GIRL, MSG_LITTLE_BOY, MSG_LITTLE_GIRL, MSG_MAN, MSG_WOMAN, MSG_PLANT, MSG_MIME }; - +int +kill_user(int num) +{ + userec_t u; + memset(&u, 0, sizeof(u)); + setuserid(num, ""); + passwd_index_update(num, &u); + return 0; +} int u_loginview() { @@ -192,9 +200,8 @@ violate_law(userec_t * u, int unum) Rename(src, dst); log_usies("KILL", u->userid); post_violatelaw(u->userid, cuser.userid, reason, "�尣 ID"); - u->userid[0] = '\0'; - setuserid(unum, u->userid); - passwd_index_update(unum, u); + kill_user(unum); + } else { u->userlevel |= PERM_VIOLATELAW; u->vl_count++; @@ -604,8 +611,7 @@ uinfo_query(userec_t * u, int real, int unum) snprintf(dst, sizeof(dst), "tmp/%s", x.userid); Rename(src, dst); /* do not remove user home */ log_usies("KILL", x.userid); - x.userid[0] = '\0'; - setuserid(unum, x.userid); + kill_user(unum); } else log_usies("SetUser", x.userid); if (money_change) |