libunarchive: stop using static data in archivers - archive_handle_t
 can trivially provide space for that.
rpm: code shrink
tar: simplify autodetection of bz2/.gz


function                                             old     new   delta
static.not_first                                       1       -      -1
static.end                                             1       -      -1
bb_makedev                                            51      49      -2
static.saved_hardlinks_created                         4       -      -4
static.saved_hardlinks                                 4       -      -4
longname                                               4       -      -4
linkname                                               4       -      -4
hash_file                                            251     247      -4
get_header_tar                                      1528    1521      -7
rpm_main                                            1711    1697     -14
get_header_cpio                                      965     944     -21
------------------------------------------------------------------------------
(add/remove: 0/6 grow/shrink: 0/5 up/down: 0/-66)             Total: -66 bytes
   text    data     bss     dec     hex filename
 804926     611    6868  812405   c6575 busybox_old
 804878     611    6852  812341   c6535 busybox_unstripped

diff --git a/archival/tar.c b/archival/tar.c
index 2a14018..526edb6 100644
--- a/archival/tar.c
+++ b/archival/tar.c
@@ -814,9 +814,9 @@
 
 	/* Initialise default values */
 	tar_handle = init_handle();
-	tar_handle->flags = ARCHIVE_CREATE_LEADING_DIRS
-	                  | ARCHIVE_PRESERVE_DATE
-	                  | ARCHIVE_EXTRACT_UNCONDITIONAL;
+	tar_handle->ah_flags = ARCHIVE_CREATE_LEADING_DIRS
+	                     | ARCHIVE_PRESERVE_DATE
+	                     | ARCHIVE_EXTRACT_UNCONDITIONAL;
 
 	/* Prepend '-' to the first argument if required */
 	opt_complementary = "--:" // first arg is options
@@ -862,13 +862,13 @@
 		tar_handle->action_data = data_extract_to_stdout;
 
 	if (opt & OPT_KEEP_OLD)
-		tar_handle->flags &= ~ARCHIVE_EXTRACT_UNCONDITIONAL;
+		tar_handle->ah_flags &= ~ARCHIVE_EXTRACT_UNCONDITIONAL;
 
 	if (opt & OPT_NOPRESERVE_OWN)
-		tar_handle->flags |= ARCHIVE_NOPRESERVE_OWN;
+		tar_handle->ah_flags |= ARCHIVE_NOPRESERVE_OWN;
 
 	if (opt & OPT_NOPRESERVE_PERM)
-		tar_handle->flags |= ARCHIVE_NOPRESERVE_PERM;
+		tar_handle->ah_flags |= ARCHIVE_NOPRESERVE_PERM;
 
 	if (opt & OPT_GZIP)
 		get_header_ptr = get_header_tar_gz;