diff options
author | "Vladimir N. Oleynik" <dzo@simtreas.ru> | 2005-09-05 14:46:07 +0000 |
---|---|---|
committer | "Vladimir N. Oleynik" <dzo@simtreas.ru> | 2005-09-05 14:46:07 +0000 |
commit | 27421a1878847389391c1a43420baaccf57057a7 (patch) | |
tree | 73e57d430a5828d242b78deb0a591a99f0df44a9 /archival | |
parent | bef14d7a878049a01f1fb9b412611a2d64c2b154 (diff) | |
download | busybox-w32-27421a1878847389391c1a43420baaccf57057a7.tar.gz busybox-w32-27421a1878847389391c1a43420baaccf57057a7.tar.bz2 busybox-w32-27421a1878847389391c1a43420baaccf57057a7.zip |
1) bb_opt_complementaly -> bb_opt_complementally
2) better support long options
3) new flag '!' for bb_opt_complementally: produce bb_show_usage() if BB_GETOPT_ERROR internally
Diffstat (limited to 'archival')
-rw-r--r-- | archival/ar.c | 4 | ||||
-rw-r--r-- | archival/dpkg_deb.c | 4 | ||||
-rw-r--r-- | archival/tar.c | 6 |
3 files changed, 5 insertions, 9 deletions
diff --git a/archival/ar.c b/archival/ar.c index 8326aa6de..21096d712 100644 --- a/archival/ar.c +++ b/archival/ar.c | |||
@@ -67,10 +67,10 @@ extern int ar_main(int argc, char **argv) | |||
67 | 67 | ||
68 | archive_handle = init_handle(); | 68 | archive_handle = init_handle(); |
69 | 69 | ||
70 | bb_opt_complementaly = "p~tx:t~px:x~pt"; | 70 | bb_opt_complementally = "!p~tx:t~px:x~pt"; |
71 | opt = bb_getopt_ulflags(argc, argv, "ptxovcr"); | 71 | opt = bb_getopt_ulflags(argc, argv, "ptxovcr"); |
72 | 72 | ||
73 | if ((opt & BB_GETOPT_ERROR) || (opt == 0) || (optind == argc)) { | 73 | if ((opt == 0) || (optind == argc)) { |
74 | bb_show_usage(); | 74 | bb_show_usage(); |
75 | } | 75 | } |
76 | 76 | ||
diff --git a/archival/dpkg_deb.c b/archival/dpkg_deb.c index b95ec2d6e..6c665e57a 100644 --- a/archival/dpkg_deb.c +++ b/archival/dpkg_deb.c | |||
@@ -56,7 +56,7 @@ extern int dpkg_deb_main(int argc, char **argv) | |||
56 | control_tar_llist = llist_add_to(control_tar_llist, "control.tar.bz2"); | 56 | control_tar_llist = llist_add_to(control_tar_llist, "control.tar.bz2"); |
57 | #endif | 57 | #endif |
58 | 58 | ||
59 | bb_opt_complementaly = "c~efXx:e~cfXx:f~ceXx:X~cefx:x~cefX"; | 59 | bb_opt_complementally = "!c~efXx:e~cfXx:f~ceXx:X~cefx:x~cefX"; |
60 | opt = bb_getopt_ulflags(argc, argv, "cefXx"); | 60 | opt = bb_getopt_ulflags(argc, argv, "cefXx"); |
61 | 61 | ||
62 | if (opt & DPKG_DEB_OPT_CONTENTS) { | 62 | if (opt & DPKG_DEB_OPT_CONTENTS) { |
@@ -88,7 +88,7 @@ extern int dpkg_deb_main(int argc, char **argv) | |||
88 | argcount = 2; | 88 | argcount = 2; |
89 | } | 89 | } |
90 | 90 | ||
91 | if ((optind + argcount != argc) || (opt & BB_GETOPT_ERROR)) { | 91 | if ((optind + argcount) != argc) { |
92 | bb_show_usage(); | 92 | bb_show_usage(); |
93 | } | 93 | } |
94 | 94 | ||
diff --git a/archival/tar.c b/archival/tar.c index 585f0629f..a2623863d 100644 --- a/archival/tar.c +++ b/archival/tar.c | |||
@@ -706,7 +706,7 @@ int tar_main(int argc, char **argv) | |||
706 | tar_handle = init_handle(); | 706 | tar_handle = init_handle(); |
707 | tar_handle->flags = ARCHIVE_CREATE_LEADING_DIRS | ARCHIVE_PRESERVE_DATE | ARCHIVE_EXTRACT_UNCONDITIONAL; | 707 | tar_handle->flags = ARCHIVE_CREATE_LEADING_DIRS | ARCHIVE_PRESERVE_DATE | ARCHIVE_EXTRACT_UNCONDITIONAL; |
708 | 708 | ||
709 | bb_opt_complementaly = "c~tx:t~cx:x~ct:X*:T*"; | 709 | bb_opt_complementally = "!c~tx:t~cx:x~ct:X*:T*"; |
710 | #ifdef CONFIG_FEATURE_TAR_LONG_OPTIONS | 710 | #ifdef CONFIG_FEATURE_TAR_LONG_OPTIONS |
711 | bb_applet_long_options = tar_long_options; | 711 | bb_applet_long_options = tar_long_options; |
712 | #endif | 712 | #endif |
@@ -720,10 +720,6 @@ int tar_main(int argc, char **argv) | |||
720 | #endif | 720 | #endif |
721 | ); | 721 | ); |
722 | 722 | ||
723 | /* Check one and only one context option was given */ | ||
724 | if(opt & BB_GETOPT_ERROR) { | ||
725 | bb_show_usage(); | ||
726 | } | ||
727 | #ifdef CONFIG_FEATURE_TAR_CREATE | 723 | #ifdef CONFIG_FEATURE_TAR_CREATE |
728 | ctx_flag = opt & (CTX_CREATE | CTX_TEST | CTX_EXTRACT); | 724 | ctx_flag = opt & (CTX_CREATE | CTX_TEST | CTX_EXTRACT); |
729 | #else | 725 | #else |