Commit 38cb4e84 by Bryce McKinlay Committed by Bryce McKinlay

jartool.c (expand_options): Handle tar-style argument list with a leading "-".

	* jartool.c (expand_options): Handle tar-style argument list with a
	leading "-".

From-SVN: r50957
parent f07beda9
2002-03-18 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
* jartool.c (expand_options): Handle tar-style argument list with a
leading "-".
2002-02-23 Anthony Green <green@redhat.com> 2002-02-23 Anthony Green <green@redhat.com>
* jartool.c (main): Fix handling of -C. * jartool.c (main): Fix handling of -C.
......
...@@ -1938,24 +1938,34 @@ expand_options (int *argcp, char ***argvp) ...@@ -1938,24 +1938,34 @@ expand_options (int *argcp, char ***argvp)
int argc = *argcp; int argc = *argcp;
char **argv = *argvp; char **argv = *argvp;
if (argc > 1 && argv[1][0] != '-') /* Accept arguments with a leading "-" (eg "-cvf"), but don't do expansion
if a long argument (like "--help") is detected. */
if (argc > 1 && argv[1][1] != '-')
{ {
char buf[3]; char buf[3];
char **new_argv; char **new_argv;
int new_argc; int new_argc;
int args_to_expand;
char *p; char *p;
char **in, **out; char **in, **out;
buf[0] = '-'; buf[0] = '-';
buf[2] = '\0'; buf[2] = '\0';
new_argc = argc - 1 + strlen (argv[1]); args_to_expand = strlen (argv[1]);
if (argv[1][0] == '-')
--args_to_expand;
new_argc = argc - 1 + args_to_expand;
new_argv = (char **) malloc (new_argc * sizeof (char *)); new_argv = (char **) malloc (new_argc * sizeof (char *));
in = argv; in = argv;
out = new_argv; out = new_argv;
*out++ = *in++; *out++ = *in++;
for (p = *in++; *p; ++p) p = *in++;
if (*p == '-')
p++;
while (*p != '\0')
{ {
char *opt; char *opt;
buf[1] = *p; buf[1] = *p;
...@@ -1974,6 +1984,7 @@ expand_options (int *argcp, char ***argvp) ...@@ -1974,6 +1984,7 @@ expand_options (int *argcp, char ***argvp)
usage(argv[0]); usage(argv[0]);
} }
} }
++p;
} }
/* Copy remaining options. */ /* Copy remaining options. */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment