mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-03-25 05:30:25 +08:00
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
This commit is contained in:
parent
f07beda95a
commit
38cb4e8407
@ -1,3 +1,8 @@
|
||||
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>
|
||||
|
||||
* jartool.c (main): Fix handling of -C.
|
||||
|
@ -1938,24 +1938,34 @@ expand_options (int *argcp, char ***argvp)
|
||||
int argc = *argcp;
|
||||
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 **new_argv;
|
||||
int new_argc;
|
||||
int args_to_expand;
|
||||
char *p;
|
||||
char **in, **out;
|
||||
|
||||
buf[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 *));
|
||||
in = argv;
|
||||
out = new_argv;
|
||||
|
||||
*out++ = *in++;
|
||||
for (p = *in++; *p; ++p)
|
||||
p = *in++;
|
||||
if (*p == '-')
|
||||
p++;
|
||||
while (*p != '\0')
|
||||
{
|
||||
char *opt;
|
||||
buf[1] = *p;
|
||||
@ -1974,6 +1984,7 @@ expand_options (int *argcp, char ***argvp)
|
||||
usage(argv[0]);
|
||||
}
|
||||
}
|
||||
++p;
|
||||
}
|
||||
|
||||
/* Copy remaining options. */
|
||||
|
Loading…
x
Reference in New Issue
Block a user