Give pdbedit a -D paramater for setting the DEBUGLEVEL (makes debugging passdb
authorAndrew Bartlett <abartlet@samba.org>
Sun, 27 Jan 2002 03:00:56 +0000 (03:00 +0000)
committerAndrew Bartlett <abartlet@samba.org>
Sun, 27 Jan 2002 03:00:56 +0000 (03:00 +0000)
much saner :-).

Change to pdb_init_sam()/pdb_free_sam() loop rather than reset based due to
the talloc basis.

Andrew Bartlett
(This used to be commit e40a0a7f27950bd0484fe7d6b67dce45cd75d25c)

source3/utils/pdbedit.c

index 5202d8d3fe8e0317bbb802d220ada31f8f36462f..4f3ceaf18f8142ca8fd7ce46eeb5016e6382e5b2 100644 (file)
@@ -58,6 +58,7 @@ static void usage(void)
        printf("     -m                it is a machine trust\n");
        printf("  -x                   delete this user\n");
        printf("  -i file              import account from file (smbpasswd style)\n");
+       printf("  -D debuglevel        set DEBUGELEVEL (default = 1)\n");
        exit(1);
 }
 
@@ -160,19 +161,20 @@ static int print_users_list (BOOL verbosity, BOOL smbpwdstyle)
        ret = pdb_setsampwent(False);
        if (ret && errno == ENOENT) {
                fprintf (stderr,"Password database not found!\n");
-               pdb_free_sam(&sam_pwent);
                exit(1);
        }
+       pdb_free_sam(&sam_pwent);
 
-       while ((ret = pdb_getsampwent (sam_pwent))) {
+       while ((NT_STATUS_IS_OK(pdb_init_sam(&sam_pwent)) 
+               && (ret = pdb_getsampwent (sam_pwent)))) {
                if (verbosity)
                        printf ("---------------\n");
                print_sam_info (sam_pwent, verbosity, smbpwdstyle);
-               pdb_reset_sam(sam_pwent);
+               pdb_free_sam(&sam_pwent);
        }
+       pdb_free_sam(&sam_pwent);
        
        pdb_endsampwent ();
-       pdb_free_sam(&sam_pwent);
        return 0;
 }
 
@@ -572,7 +574,7 @@ int main (int argc, char **argv)
                exit(1);
        }
        
-       while ((ch = getopt(argc, argv, "ad:f:h:i:lmp:s:u:vwx")) != EOF) {
+       while ((ch = getopt(argc, argv, "ad:f:h:i:lmp:s:u:vwxD:")) != EOF) {
                switch(ch) {
                case 'a':
                        add_user = True;
@@ -619,6 +621,9 @@ int main (int argc, char **argv)
                        import = True;
                        smbpasswd = optarg;
                        break;
+               case 'D':
+                       DEBUGLEVEL = atoi(optarg);
+                       break;
                default:
                        usage();
                }