summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2001-07-08 18:25:56 +0000
committerAndrew Tridgell <tridge@samba.org>2001-07-08 18:25:56 +0000
commit29d8f9bcb3f55365740a5bbafc75dd2dffc107a9 (patch)
tree758988264b225193e422c8ddca299baf1d6189b2
parent001129e2153633dbd079889b11331e9c27786e5b (diff)
downloadsamba-29d8f9bcb3f55365740a5bbafc75dd2dffc107a9.tar.gz
samba-29d8f9bcb3f55365740a5bbafc75dd2dffc107a9.tar.xz
samba-29d8f9bcb3f55365740a5bbafc75dd2dffc107a9.zip
improved the command line parsing of rpcclient
-rw-r--r--source/rpcclient/rpcclient.c33
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();