diff options
author | "Vladimir N. Oleynik" | 2005-10-14 09:56:52 +0000 |
---|---|---|
committer | "Vladimir N. Oleynik" | 2005-10-14 09:56:52 +0000 |
commit | f704b27b5bb8bd5acaed9464714db34ccef06cc8 (patch) | |
tree | 06f15d778a64ba361219d8227f87422173bf0da8 /archival/tar.c | |
parent | 8c7a7e6e63c01d2d575bbaa43e1768ad2b97179b (diff) | |
download | busybox-f704b27b5bb8bd5acaed9464714db34ccef06cc8.zip busybox-f704b27b5bb8bd5acaed9464714db34ccef06cc8.tar.gz |
- new bb_opt_complementally syntax, use [-:?] only - 'free' chars
- new bb_getopt_ulflags features: check max and min args, convert first argv to options special for ar and tar applets
- use bb_default_error_retval for env applet
Diffstat (limited to 'archival/tar.c')
-rw-r--r-- | archival/tar.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/archival/tar.c b/archival/tar.c index 32e9cba..7cfb495 100644 --- a/archival/tar.c +++ b/archival/tar.c @@ -690,18 +690,16 @@ int tar_main(int argc, char **argv) unsigned long opt; unsigned long ctx_flag = 0; - /* Prepend '-' to the first argument if required */ - if (argv[1][0] != '-') - argv[1] = bb_xasprintf("-%s", argv[1]); - + /* Initialise default values */ tar_handle = init_handle(); tar_handle->flags = ARCHIVE_CREATE_LEADING_DIRS | ARCHIVE_PRESERVE_DATE | ARCHIVE_EXTRACT_UNCONDITIONAL; + /* Prepend '-' to the first argument if required */ #ifdef CONFIG_FEATURE_TAR_CREATE - bb_opt_complementally = "?:c?c:t?t:x?x:c~tx:t~cx:x~ct:X*:T*"; + bb_opt_complementally = "--:-1:X::T::c:t:x:?:c--tx:t--cx:x--ct"; #else - bb_opt_complementally = "?:t?t:x?x:t~x:x~t:X*:T*"; + bb_opt_complementally = "--:-1:X::T::t:x:?:t--x:x--t"; #endif #ifdef CONFIG_FEATURE_TAR_LONG_OPTIONS bb_applet_long_options = tar_long_options; |