-extern int deb_extract(int optflags, const char *dir_name, const char *deb_filename)
-{
- char **extract_list = NULL;
- ar_headers_t *ar_headers = NULL;
- char ar_filename[15];
- int extract_flag = FALSE;
- int list_flag = FALSE;
- int verbose_flag = FALSE;
- int extract_to_stdout = FALSE;
- int srcFd = 0;
- int status;
- pid_t pid;
- FILE *comp_file = NULL;
+ /* Setup an ar archive handle that refers to the gzip sub archive */
+ ar_archive = init_handle();
+ ar_archive->dpkg__sub_archive = tar_archive;
+ ar_archive->filter = filter_accept_list_reassign;
+
+#if ENABLE_FEATURE_SEAMLESS_GZ
+ llist_add_to(&ar_archive->accept, (char*)"data.tar.gz");
+ llist_add_to(&control_tar_llist, (char*)"control.tar.gz");
+#endif
+#if ENABLE_FEATURE_SEAMLESS_BZ2
+ llist_add_to(&ar_archive->accept, (char*)"data.tar.bz2");
+ llist_add_to(&control_tar_llist, (char*)"control.tar.bz2");
+#endif
+#if ENABLE_FEATURE_SEAMLESS_LZMA
+ llist_add_to(&ar_archive->accept, (char*)"data.tar.lzma");
+ llist_add_to(&control_tar_llist, (char*)"control.tar.lzma");
+#endif