aboutsummaryrefslogtreecommitdiff
path: root/archival
diff options
context:
space:
mode:
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
commit27421a1878847389391c1a43420baaccf57057a7 (patch)
tree73e57d430a5828d242b78deb0a591a99f0df44a9 /archival
parentbef14d7a878049a01f1fb9b412611a2d64c2b154 (diff)
downloadbusybox-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.c4
-rw-r--r--archival/dpkg_deb.c4
-rw-r--r--archival/tar.c6
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