diff options
author | Andrew Tridgell <tridge@samba.org> | 2001-07-08 18:25:56 +0000 |
---|---|---|
committer | Andrew Tridgell <tridge@samba.org> | 2001-07-08 18:25:56 +0000 |
commit | 29d8f9bcb3f55365740a5bbafc75dd2dffc107a9 (patch) | |
tree | 758988264b225193e422c8ddca299baf1d6189b2 | |
parent | 001129e2153633dbd079889b11331e9c27786e5b (diff) | |
download | samba-29d8f9bcb3f55365740a5bbafc75dd2dffc107a9.tar.gz samba-29d8f9bcb3f55365740a5bbafc75dd2dffc107a9.tar.xz samba-29d8f9bcb3f55365740a5bbafc75dd2dffc107a9.zip |
improved the command line parsing of rpcclient
-rw-r--r-- | source/rpcclient/rpcclient.c | 33 |
1 files changed, 17 insertions, 16 deletions
diff --git a/source/rpcclient/rpcclient.c b/source/rpcclient/rpcclient.c index e66b15bb11e..decad75c871 100644 --- a/source/rpcclient/rpcclient.c +++ b/source/rpcclient/rpcclient.c @@ -503,9 +503,9 @@ struct cli_state *setup_connection(struct cli_state *cli, char *system_name, /* Print usage information */ -static void usage(char *pname) +static void usage(void) { - printf("Usage: %s server [options]\n", pname); + printf("Usage: rpcclient [options] server\n"); printf("\t-A authfile file containing user credentials\n"); printf("\t-c \"command string\" execute semicolon separated cmds\n"); @@ -544,18 +544,7 @@ static void usage(char *pname) DEBUGLEVEL = 1; - /* Parse options */ - if (argc < 2) { - usage(argv[0]); - return 0; - } - - pstrcpy(server, argv[1]); - - argv++; - argc--; - - while ((opt = getopt(argc, argv, "A:s:Nd:U:W:c:l:")) != EOF) { + while ((opt = getopt(argc, argv, "A:s:Nd:U:W:c:l:h")) != EOF) { switch (opt) { case 'A': /* only get the username, password, and domain from the file */ @@ -588,6 +577,7 @@ static void usage(char *pname) case 'U': { char *lp; pstrcpy(username,optarg); + printf("got user=%s\n", username); if ((lp=strchr_m(username,'%'))) { *lp = 0; pstrcpy(password,lp+1); @@ -603,14 +593,25 @@ static void usage(char *pname) case 'h': default: - usage(argv[0]); + usage(); exit(1); } } + + argv += optind; + argc -= optind; + + /* Parse options */ + if (argc < 1) { + usage(); + return 0; + } + pstrcpy(server, argv[0]); + /* the following functions are part of the Samba debugging facilities. See lib/debug.c */ - setup_logging (argv[0], interactive); + setup_logging("rpcclient", interactive); if (!interactive) reopen_logs(); |