summaryrefslogtreecommitdiffstats
path: root/mbbsd/user.c
diff options
context:
space:
mode:
Diffstat (limited to 'mbbsd/user.c')
-rw-r--r--mbbsd/user.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/mbbsd/user.c b/mbbsd/user.c
index bcdd9510..192131c8 100644
--- a/mbbsd/user.c
+++ b/mbbsd/user.c
@@ -695,18 +695,22 @@ uinfo_query(userec_t *u, int adminmode, int unum)
case 'c':
Customize();
return;
+
case 'm':
do {
- getdata_str(y, 0, "電子信箱[變動要重新認證]:", buf, 50, DOECHO,
- x.email);
+ getdata_str(y, 0, "電子信箱[變動要重新認證]:", buf,
+ sizeof(x.email), DOECHO, x.email);
} while (!isvalidemail(buf) && vmsg("認證信箱不能用使用免費信箱"));
y++;
- if (strcmp(buf, x.email) && strchr(buf, '@')) {
+ // admins may want to use special names
+ if (strcmp(buf, x.email) &&
+ (strchr(buf, '@') || adminmode)) {
strlcpy(x.email, buf, sizeof(x.email));
mail_changed = 1;
delregcodefile();
}
break;
+
case '7':
violate_law(&x, unum);
return;