diff options
-rw-r--r-- | source3/utils/pdbedit.c | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/source3/utils/pdbedit.c b/source3/utils/pdbedit.c index 5202d8d3fe..4f3ceaf18f 100644 --- a/source3/utils/pdbedit.c +++ b/source3/utils/pdbedit.c @@ -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(); } |