svn commit: samba r21780 - in branches: SAMBA_3_0/source/utils
SAMBA_3_0_25/source/utils
herb at samba.org
herb at samba.org
Fri Mar 9 19:48:51 GMT 2007
Author: herb
Date: 2007-03-09 19:48:50 +0000 (Fri, 09 Mar 2007)
New Revision: 21780
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=21780
Log:
let smbcontrol use POPT_COMMON_SAMBA options to allow setting debug
level. Fix calculation of argc after options are stripped. I couldn't
find a popt function that returned this.
Modified:
branches/SAMBA_3_0/source/utils/smbcontrol.c
branches/SAMBA_3_0_25/source/utils/smbcontrol.c
Changeset:
Modified: branches/SAMBA_3_0/source/utils/smbcontrol.c
===================================================================
--- branches/SAMBA_3_0/source/utils/smbcontrol.c 2007-03-09 19:28:35 UTC (rev 21779)
+++ branches/SAMBA_3_0/source/utils/smbcontrol.c 2007-03-09 19:48:50 UTC (rev 21780)
@@ -1145,25 +1145,15 @@
poptContext pc;
int opt;
- static struct poptOption wbinfo_options[] = {
+ static struct poptOption long_options[] = {
+ POPT_AUTOHELP
{ "timeout", 't', POPT_ARG_INT, &timeout, 't',
"Set timeout value in seconds", "TIMEOUT" },
- { "configfile", 's', POPT_ARG_STRING, NULL, 's',
- "Use alternative configuration file", "CONFIGFILE" },
-
+ POPT_COMMON_SAMBA
POPT_TABLEEND
};
- struct poptOption options[] = {
- { NULL, 0, POPT_ARG_INCLUDE_TABLE, wbinfo_options, 0,
- "Options" },
-
- POPT_AUTOHELP
- POPT_COMMON_VERSION
- POPT_TABLEEND
- };
-
load_case_tables();
setup_logging(argv[0],True);
@@ -1171,7 +1161,7 @@
/* Parse command line arguments using popt */
pc = poptGetContext(
- "smbcontrol", argc, (const char **)argv, options, 0);
+ "smbcontrol", argc, (const char **)argv, long_options, 0);
poptSetOtherOptionHelp(pc, "[OPTION...] <destination> <message-type> "
"<parameters>");
@@ -1182,12 +1172,7 @@
while ((opt = poptGetNextOpt(pc)) != -1) {
switch(opt) {
case 't': /* --timeout */
- argc -= 2;
break;
- case 's': /* --configfile */
- pstrcpy(dyn_CONFIGFILE, poptGetOptArg(pc));
- argc -= 2;
- break;
default:
fprintf(stderr, "Invalid option\n");
poptPrintHelp(pc, stderr, 0);
@@ -1200,7 +1185,10 @@
correct value in the above switch statement. */
argv = (const char **)poptGetArgs(pc);
- argc--; /* Don't forget about argv[0] */
+ argc = 0;
+ while (argv[argc] != NULL) {
+ argc++;
+ }
if (argc == 1)
usage(&pc);
Modified: branches/SAMBA_3_0_25/source/utils/smbcontrol.c
===================================================================
--- branches/SAMBA_3_0_25/source/utils/smbcontrol.c 2007-03-09 19:28:35 UTC (rev 21779)
+++ branches/SAMBA_3_0_25/source/utils/smbcontrol.c 2007-03-09 19:48:50 UTC (rev 21780)
@@ -1145,25 +1145,15 @@
poptContext pc;
int opt;
- static struct poptOption wbinfo_options[] = {
+ static struct poptOption long_options[] = {
+ POPT_AUTOHELP
{ "timeout", 't', POPT_ARG_INT, &timeout, 't',
"Set timeout value in seconds", "TIMEOUT" },
- { "configfile", 's', POPT_ARG_STRING, NULL, 's',
- "Use alternative configuration file", "CONFIGFILE" },
-
+ POPT_COMMON_SAMBA
POPT_TABLEEND
};
- struct poptOption options[] = {
- { NULL, 0, POPT_ARG_INCLUDE_TABLE, wbinfo_options, 0,
- "Options" },
-
- POPT_AUTOHELP
- POPT_COMMON_VERSION
- POPT_TABLEEND
- };
-
load_case_tables();
setup_logging(argv[0],True);
@@ -1171,7 +1161,7 @@
/* Parse command line arguments using popt */
pc = poptGetContext(
- "smbcontrol", argc, (const char **)argv, options, 0);
+ "smbcontrol", argc, (const char **)argv, long_options, 0);
poptSetOtherOptionHelp(pc, "[OPTION...] <destination> <message-type> "
"<parameters>");
@@ -1182,12 +1172,7 @@
while ((opt = poptGetNextOpt(pc)) != -1) {
switch(opt) {
case 't': /* --timeout */
- argc -= 2;
break;
- case 's': /* --configfile */
- pstrcpy(dyn_CONFIGFILE, poptGetOptArg(pc));
- argc -= 2;
- break;
default:
fprintf(stderr, "Invalid option\n");
poptPrintHelp(pc, stderr, 0);
@@ -1200,7 +1185,10 @@
correct value in the above switch statement. */
argv = (const char **)poptGetArgs(pc);
- argc--; /* Don't forget about argv[0] */
+ argc = 0;
+ while (argv[argc] != NULL) {
+ argc++;
+ }
if (argc == 1)
usage(&pc);
More information about the samba-cvs
mailing list