diff options
-rw-r--r-- | mbbsd/user.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/mbbsd/user.c b/mbbsd/user.c index 32b33f80..c8a6e0ca 100644 --- a/mbbsd/user.c +++ b/mbbsd/user.c @@ -684,8 +684,11 @@ uinfo_query(userec_t *u, int adminmode, int unum) snprintf(buf, sizeof(buf), "%010d", x.mobile); getdata_buf(i++, 0, "手機號碼:", buf, 11, LCECHO); x.mobile = atoi(buf); - getdata_str(i++, 0, "電子信箱[變動要重新認證]:", buf, 50, DOECHO, + do + { + getdata_str(i++, 0, "電子信箱[變動要重新認證]:", buf, 50, DOECHO, x.email); + }while(!isvalidemail(buf)); if (strcmp(buf, x.email) && strchr(buf, '@')) { strlcpy(x.email, buf, sizeof(x.email)); mail_changed = 1 - adminmode; @@ -1351,7 +1354,7 @@ removespace(char *s) -static int +int isvalidemail(const char *email) { FILE *fp; |