diff options
author | Denys Vlasenko <vda.linux@googlemail.com> | 2015-01-30 15:15:38 +0100 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2015-01-30 15:15:38 +0100 |
commit | 08f9ffc3f7503eb3dc94f16c615b20d2ae9a059c (patch) | |
tree | 7f4ad348cc275500a72a6c7ea3dab015bce2221b /archival/libarchive/get_header_tar_xz.c | |
parent | 8c05a74f7efcda6ae5bd83e134edf44af12cb5e4 (diff) | |
download | busybox-w32-08f9ffc3f7503eb3dc94f16c615b20d2ae9a059c.tar.gz busybox-w32-08f9ffc3f7503eb3dc94f16c615b20d2ae9a059c.tar.bz2 busybox-w32-08f9ffc3f7503eb3dc94f16c615b20d2ae9a059c.zip |
dpkg: update supported compression methods
Based on a patch by Ron Yorston <rmy@tigress.co.uk>
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 <vda.linux@googlemail.com>
Diffstat (limited to 'archival/libarchive/get_header_tar_xz.c')
-rw-r--r-- | archival/libarchive/get_header_tar_xz.c | 21 |
1 files changed, 21 insertions, 0 deletions
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 @@ | |||
1 | /* vi: set sw=4 ts=4: */ | ||
2 | /* | ||
3 | * Licensed under GPLv2 or later, see file LICENSE in this source tree. | ||
4 | */ | ||
5 | |||
6 | #include "libbb.h" | ||
7 | #include "bb_archive.h" | ||
8 | |||
9 | char FAST_FUNC get_header_tar_xz(archive_handle_t *archive_handle) | ||
10 | { | ||
11 | /* Can't lseek over pipes */ | ||
12 | archive_handle->seek = seek_by_read; | ||
13 | |||
14 | fork_transformer_with_sig(archive_handle->src_fd, unpack_xz_stream, "unxz"); | ||
15 | archive_handle->offset = 0; | ||
16 | while (get_header_tar(archive_handle) == EXIT_SUCCESS) | ||
17 | continue; | ||
18 | |||
19 | /* Can only do one file at a time */ | ||
20 | return EXIT_FAILURE; | ||
21 | } | ||