chiark / gitweb /
The server now treats setting an empty email address as removing that
[disorder] / lib / trackdb.c
index 6a93fbaba33562676ea7fd0f828ca64855d2dd10..80bfa01e0647e402b4658eb1fd24e6a6b8618bea 100644 (file)
@@ -2630,10 +2630,13 @@ int trackdb_edituserinfo(const char *user,
       return -1;
     }
   } else if(!strcmp(key, "email")) {
-    if(!strchr(value, '@')) {
-      error(0, "invalid email address '%s' for user '%s'", user, value);
-      return -1;
-    }
+    if(*value) {
+      if(!strchr(value, '@')) {
+        error(0, "invalid email address '%s' for user '%s'", user, value);
+        return -1;
+      }
+    } else
+      value = 0;                        /* no email -> remove key */
   } else if(!strcmp(key, "created")) {
     error(0, "cannot change creation date for user '%s'", user);
     return -1;