From 08f9ffc3f7503eb3dc94f16c615b20d2ae9a059c Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Fri, 30 Jan 2015 15:15:38 +0100 Subject: dpkg: update supported compression methods Based on a patch by Ron Yorston function old new delta get_header_tar_xz - 60 +60 filter_accept_list_reassign 128 188 +60 unpack_package 585 621 +36 init_archive_deb_control 52 76 +24 ------------------------------------------------------------------------------ (add/remove: 2/0 grow/shrink: 3/0 up/down: 180/0) Total: 180 bytes Signed-off-by: Denys Vlasenko --- archival/libarchive/get_header_tar_xz.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 archival/libarchive/get_header_tar_xz.c (limited to 'archival/libarchive/get_header_tar_xz.c') diff --git a/archival/libarchive/get_header_tar_xz.c b/archival/libarchive/get_header_tar_xz.c new file mode 100644 index 000000000..7bf3b3b56 --- /dev/null +++ b/archival/libarchive/get_header_tar_xz.c @@ -0,0 +1,21 @@ +/* vi: set sw=4 ts=4: */ +/* + * Licensed under GPLv2 or later, see file LICENSE in this source tree. + */ + +#include "libbb.h" +#include "bb_archive.h" + +char FAST_FUNC get_header_tar_xz(archive_handle_t *archive_handle) +{ + /* Can't lseek over pipes */ + archive_handle->seek = seek_by_read; + + fork_transformer_with_sig(archive_handle->src_fd, unpack_xz_stream, "unxz"); + archive_handle->offset = 0; + while (get_header_tar(archive_handle) == EXIT_SUCCESS) + continue; + + /* Can only do one file at a time */ + return EXIT_FAILURE; +} -- cgit v1.2.3