Diff
Not logged in

Differences From:

File src/user.c part of check-in [0921b68f66] - Fix a bug in the "user default" command. by drh on 2008-01-29 00:38:06. [view]

To:

File src/user.c part of check-in [e2a42f7a68] - Error message on "commit" or "user default" if the user does not exist. by drh on 2008-01-29 01:11:27. [view]

@@ -206,12 +206,17 @@
   }else if( n>=2 && strncmp(g.argv[2],"default",n)==0 ){
     user_select();
     if( g.argc==3 ){
       printf("%s\n", g.zLogin);
-    }else if( g.localOpen ){
-      db_lset("default-user", g.argv[3]);
     }else{
-      db_set("default-user", g.argv[3], 0);
+      if( !db_exists("SELECT 1 FROM user WHERE login=%Q", g.argv[3]) ){
+        fossil_fatal("no such user: %s", g.argv[3]);
+      }
+      if( g.localOpen ){
+        db_lset("default-user", g.argv[3]);
+      }else{
+        db_set("default-user", g.argv[3], 0);
+      }
     }
   }else if( n>=2 && strncmp(g.argv[2],"list",n)==0 ){
     Stmt q;
     db_prepare(&q, "SELECT login, info FROM user ORDER BY login");