- use complementally '!' to '?' - 'ask' is best 'free' char for this.
- more long opt compatibility, can set flag for long opt struct now
- more logic: check opt-depend requires and global requires, special for 'id' and 'start-stop-daemon' applets.
diff --git a/archival/ar.c b/archival/ar.c
index 411a25e..70deb5c 100644
--- a/archival/ar.c
+++ b/archival/ar.c
@@ -66,7 +66,7 @@
 
 	archive_handle = init_handle();
 
-	bb_opt_complementally = "!p~tx:t~px:x~pt";
+	bb_opt_complementally = "?p~tx:t~px:x~pt";
 	opt = bb_getopt_ulflags(argc, argv, "ptxovcr");
 
 	if ((opt == 0) || (optind == argc)) {
diff --git a/archival/dpkg_deb.c b/archival/dpkg_deb.c
index 1ceaa60..f38fb61 100644
--- a/archival/dpkg_deb.c
+++ b/archival/dpkg_deb.c
@@ -55,7 +55,7 @@
 	control_tar_llist = llist_add_to(control_tar_llist, "control.tar.bz2");
 #endif
 
-	bb_opt_complementally = "!c~efXx:e~cfXx:f~ceXx:X~cefx:x~cefX";
+	bb_opt_complementally = "?c~efXx:e~cfXx:f~ceXx:X~cefx:x~cefX";
 	opt = bb_getopt_ulflags(argc, argv, "cefXx");
 
 	if (opt & DPKG_DEB_OPT_CONTENTS) {
diff --git a/archival/tar.c b/archival/tar.c
index f6750ae..d984267 100644
--- a/archival/tar.c
+++ b/archival/tar.c
@@ -702,7 +702,7 @@
 	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*";
+	bb_opt_complementally = "?c~tx:t~cx:x~ct:X*:T*";
 #ifdef CONFIG_FEATURE_TAR_LONG_OPTIONS
 	bb_applet_long_options = tar_long_options;
 #endif