tar: fix handling of first argument without '-'
The following no longer works as expected: $ ./busybox tar xfz test.tgz tar: can't open 'z': No such file or directory Signed-off-by: Ron Yorston <rmy@pobox.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
parent
3505e38bd1
commit
6bafcfb67a
@ -953,9 +953,6 @@ int tar_main(int argc UNUSED_PARAM, char **argv)
|
|||||||
if (getuid() != 0)
|
if (getuid() != 0)
|
||||||
tar_handle->ah_flags |= ARCHIVE_DONT_RESTORE_PERM;
|
tar_handle->ah_flags |= ARCHIVE_DONT_RESTORE_PERM;
|
||||||
|
|
||||||
/* Prepend '-' to the first argument if required */
|
|
||||||
if (argv[1] && argv[1][0] != '-' && argv[1][0] != '\0')
|
|
||||||
argv[1] = xasprintf("-%s", argv[1]);
|
|
||||||
#if ENABLE_DESKTOP
|
#if ENABLE_DESKTOP
|
||||||
/* Lie to buildroot when it starts asking stupid questions. */
|
/* Lie to buildroot when it starts asking stupid questions. */
|
||||||
if (argv[1] && strcmp(argv[1], "--version") == 0) {
|
if (argv[1] && strcmp(argv[1], "--version") == 0) {
|
||||||
@ -992,6 +989,9 @@ int tar_main(int argc UNUSED_PARAM, char **argv)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
/* Prepend '-' to the first argument if required */
|
||||||
|
if (argv[1] && argv[1][0] != '-' && argv[1][0] != '\0')
|
||||||
|
argv[1] = xasprintf("-%s", argv[1]);
|
||||||
opt = GETOPT32(argv, "^"
|
opt = GETOPT32(argv, "^"
|
||||||
"txC:f:Oopvk"
|
"txC:f:Oopvk"
|
||||||
IF_FEATURE_TAR_CREATE( "ch" )
|
IF_FEATURE_TAR_CREATE( "ch" )
|
||||||
|
Loading…
x
Reference in New Issue
Block a user