aboutsummaryrefslogtreecommitdiff
path: root/archival/tar.c
diff options
context:
space:
mode:
Diffstat (limited to 'archival/tar.c')
-rw-r--r--archival/tar.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/archival/tar.c b/archival/tar.c
index 280ded4e1..f62b33005 100644
--- a/archival/tar.c
+++ b/archival/tar.c
@@ -966,7 +966,9 @@ int tar_main(int argc UNUSED_PARAM, char **argv)
tar_handle->ah_flags |= ARCHIVE_DONT_RESTORE_PERM;
/* Prepend '-' to the first argument if required */
- opt_complementary = "--:" // first arg is options
+ if (argv[1] && argv[1][0] != '-' && argv[1][0] != '\0')
+ argv[1] = xasprintf("-%s", argv[1]);
+ opt_complementary =
"tt:vv:" // count -t,-v
#if ENABLE_FEATURE_TAR_LONG_OPTIONS && ENABLE_FEATURE_TAR_FROM
"\xff::" // --exclude=PATTERN is a list