- 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
This commit is contained in:
"Vladimir N. Oleynik"
2005-10-14 09:56:52 +00:00
parent 8c7a7e6e63
commit f704b27b5b
15 changed files with 153 additions and 114 deletions

View File

@@ -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;