dpkg_deb: slight code shrink
ar: reuse existing ar unpacking code
get_header_tar: handle autodetection for tiny .tar.gz files too
unarchive.h: do not include CONFIGed out things

function                                             old     new   delta
get_header_tar                                      1521    1534     +13
dpkg_deb_main                                        400     380     -20
ar_main                                              260     196     -64
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/2 up/down: 13/-84)            Total: -71 bytes

diff --git a/archival/libunarchive/get_header_ar.c b/archival/libunarchive/get_header_ar.c
index 59fd34c..d476a9d 100644
--- a/archival/libunarchive/get_header_ar.c
+++ b/archival/libunarchive/get_header_ar.c
@@ -108,12 +108,13 @@
 
 	if (archive_handle->filter(archive_handle) == EXIT_SUCCESS) {
 		archive_handle->action_header(typed);
+#if ENABLE_DPKG || ENABLE_DPKG_DEB
 		if (archive_handle->sub_archive) {
 			while (archive_handle->action_data_subarchive(archive_handle->sub_archive) == EXIT_SUCCESS)
 				continue;
-		} else {
+		} else
+#endif
 			archive_handle->action_data(archive_handle);
-		}
 	} else {
 		data_skip(archive_handle);
 	}