new featured bb_opt_complementally, correct argc checking
This commit was genuinely broken at the time (not related to our build system): scripts/config/mkconfigs.c (2005-08-01 - 2006-10-05 arasi) uretilen bbconfigopts.h icine .config satirlarini kacissiz, ham newline'larla gömüyordu - gecerli C degildi, busybox'un kendi bb_mkdep araci bile parse edemiyordu (7d219aab7 ile duzeltildi, mkconfigs shell scripte cevrildi)
No binary (build failed)
—
(log yok)
| @@ -603,7 +603,7 @@ static char get_header_tar_Z(archive_handle_t *archive_handle) | |
| # define TAR_OPT_STR_CREATE "ch" | |
| # define TAR_OPT_FLAG_CREATE 2 | |
| #else | |
| - | //# define CTX_CREATE 0 |
| + | # define CTX_CREATE 0 |
| # define TAR_OPT_STR_CREATE "" | |
| # define TAR_OPT_FLAG_CREATE 0 | |
| #endif | |
| @@ -690,10 +690,6 @@ int tar_main(int argc, char **argv) | |
| unsigned long opt; | |
| unsigned long ctx_flag = 0; | |
| - | if (argc < 2) { |
| - | bb_show_usage(); |
| - | } |
| - | |
| /* Prepend '-' to the first argument if required */ | |
| if (argv[1][0] != '-') | |
| argv[1] = bb_xasprintf("-%s", argv[1]); | |
| @@ -702,11 +698,14 @@ int tar_main(int argc, char **argv) | |
| tar_handle = init_handle(); | |
| tar_handle->flags = ARCHIVE_CREATE_LEADING_DIRS | ARCHIVE_PRESERVE_DATE | ARCHIVE_EXTRACT_UNCONDITIONAL; | |
| - | bb_opt_complementally = "?c~tx:t~cx:x~ct:X*:T*"; |
| + | #ifdef CONFIG_FEATURE_TAR_CREATE |
| + | bb_opt_complementally = "?:c?c:t?t:x?x:c~tx:t~cx:x~ct:X*:T*"; |
| + | #else |
| + | bb_opt_complementally = "?:t?t:x?x:t~x:x~t:X*:T*"; |
| + | #endif |
| #ifdef CONFIG_FEATURE_TAR_LONG_OPTIONS | |
| bb_applet_long_options = tar_long_options; | |
| #endif | |
| - | |
| opt = bb_getopt_ulflags(argc, argv, tar_options, | |
| &base_dir, /* Change to dir <optarg> */ | |
| &tar_filename /* archive filename */ | |
| @@ -716,14 +715,7 @@ int tar_main(int argc, char **argv) | |
| #endif | |
| ); | |
| - | #ifdef CONFIG_FEATURE_TAR_CREATE |
| ctx_flag = opt & (CTX_CREATE | CTX_TEST | CTX_EXTRACT); | |
| - | #else |
| - | ctx_flag = opt & (CTX_TEST | CTX_EXTRACT); |
| - | #endif |
| - | if (ctx_flag == 0) { |
| - | bb_show_usage(); |
| - | } |
| if(ctx_flag & CTX_TEST) { | |
| if ((tar_handle->action_header == header_list) || | |
| (tar_handle->action_header == header_verbose_list)) { | |