diff options
author | Stefan Metzmacher <metze@samba.org> | 2007-08-22 12:06:27 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 12:30:11 -0500 |
commit | 8dd00920ef8f9e6dce9bfb80c45ae46c2a562abd (patch) | |
tree | 311a8c6f0ccfdd87cfa95b00f7a8c05bbb7f63c8 | |
parent | faab8dba02d364dccf341e0f6756b1bf625d3c5b (diff) | |
download | samba-8dd00920ef8f9e6dce9bfb80c45ae46c2a562abd.tar.gz samba-8dd00920ef8f9e6dce9bfb80c45ae46c2a562abd.tar.bz2 samba-8dd00920ef8f9e6dce9bfb80c45ae46c2a562abd.zip |
r24621: - deferr calling build_options();exit(0);
- use poptPrintUsage() to give the user more info
metze
(This used to be commit a95d9d1ef99d6a2f77a289f8d2011cae482821b1)
-rw-r--r-- | source3/nmbd/nmbd.c | 3 | ||||
-rw-r--r-- | source3/nsswitch/winbindd.c | 7 | ||||
-rw-r--r-- | source3/smbd/server.c | 15 |
3 files changed, 16 insertions, 9 deletions
diff --git a/source3/nmbd/nmbd.c b/source3/nmbd/nmbd.c index 4f1dd93cae..9c8c764763 100644 --- a/source3/nmbd/nmbd.c +++ b/source3/nmbd/nmbd.c @@ -678,8 +678,9 @@ static BOOL open_sockets(enum smb_server_mode server_mode, int port) while ((opt = poptGetNextOpt(pc)) != -1) { switch (opt) { default: - d_fprintf(stderr, "\nInvalid option %s: %s\n", + d_fprintf(stderr, "\nInvalid option %s: %s\n\n", poptBadOption(pc, 0), poptStrerror(opt)); + poptPrintUsage(pc, stderr, 0); exit(1); } }; diff --git a/source3/nsswitch/winbindd.c b/source3/nsswitch/winbindd.c index f1283c5a83..56e20b78c7 100644 --- a/source3/nsswitch/winbindd.c +++ b/source3/nsswitch/winbindd.c @@ -1017,8 +1017,9 @@ int main(int argc, char **argv, char **envp) while ((opt = poptGetNextOpt(pc)) != -1) { switch (opt) { default: - d_fprintf(stderr, "\nInvalid option %s: %s\n", + d_fprintf(stderr, "\nInvalid option %s: %s\n\n", poptBadOption(pc, 0), poptStrerror(opt)); + poptPrintUsage(pc, stderr, 0); exit(1); } } @@ -1036,6 +1037,8 @@ int main(int argc, char **argv, char **envp) exit(1); } + poptFreeContext(pc); + if (!override_logfile) { pstr_sprintf(logfile, "%s/log.winbindd", dyn_LOGFILEBASE); lp_set_logfile(logfile); @@ -1167,8 +1170,6 @@ int main(int argc, char **argv, char **envp) messaging_register(winbind_messaging_context(), NULL, MSG_DUMP_EVENT_LIST, winbind_msg_dump_event_list); - poptFreeContext(pc); - netsamlogon_cache_init(); /* Non-critical */ /* clear the cached list of trusted domains */ diff --git a/source3/smbd/server.c b/source3/smbd/server.c index 3bb60058ac..8f6d9a38ac 100644 --- a/source3/smbd/server.c +++ b/source3/smbd/server.c @@ -818,6 +818,7 @@ extern void build_options(BOOL screen); const char *profile_level = NULL; int opt; poptContext pc; + BOOL print_build_options = False; enum smb_server_mode server_mode = SERVER_MODE_DAEMON; @@ -849,21 +850,25 @@ extern void build_options(BOOL screen); #endif pc = poptGetContext("smbd", argc, argv, long_options, 0); - while((opt = poptGetNextOpt(pc)) != -1) { switch (opt) { case 'b': - build_options(True); /* Display output to screen as well as debug */ - exit(0); + print_build_options = True; + break; default: - d_fprintf(stderr, "\nInvalid option %s: %s\n", + d_fprintf(stderr, "\nInvalid option %s: %s\n\n", poptBadOption(pc, 0), poptStrerror(opt)); + poptPrintUsage(pc, stderr, 0); exit(1); } } - poptFreeContext(pc); + if (print_build_options) { + build_options(True); /* Display output to screen as well as debug */ + exit(0); + } + #ifdef HAVE_SETLUID /* needed for SecureWare on SCO */ setluid(0); |