summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mbbsd/user.c7
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;