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/dpkg.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/dpkg.c')
-rw-r--r-- | archival/dpkg.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/archival/dpkg.c b/archival/dpkg.c index 2893cfc2d..151f0ca43 100644 --- a/archival/dpkg.c +++ b/archival/dpkg.c | |||
@@ -1472,12 +1472,16 @@ static void init_archive_deb_control(archive_handle_t *ar_handle) | |||
1472 | tar_handle->src_fd = ar_handle->src_fd; | 1472 | tar_handle->src_fd = ar_handle->src_fd; |
1473 | 1473 | ||
1474 | /* We don't care about data.tar.* or debian-binary, just control.tar.* */ | 1474 | /* We don't care about data.tar.* or debian-binary, just control.tar.* */ |
1475 | llist_add_to(&(ar_handle->accept), (char*)"control.tar"); | ||
1475 | #if ENABLE_FEATURE_SEAMLESS_GZ | 1476 | #if ENABLE_FEATURE_SEAMLESS_GZ |
1476 | llist_add_to(&(ar_handle->accept), (char*)"control.tar.gz"); | 1477 | llist_add_to(&(ar_handle->accept), (char*)"control.tar.gz"); |
1477 | #endif | 1478 | #endif |
1478 | #if ENABLE_FEATURE_SEAMLESS_BZ2 | 1479 | #if ENABLE_FEATURE_SEAMLESS_BZ2 |
1479 | llist_add_to(&(ar_handle->accept), (char*)"control.tar.bz2"); | 1480 | llist_add_to(&(ar_handle->accept), (char*)"control.tar.bz2"); |
1480 | #endif | 1481 | #endif |
1482 | #if ENABLE_FEATURE_SEAMLESS_XZ | ||
1483 | llist_add_to(&(ar_handle->accept), (char*)"control.tar.xz"); | ||
1484 | #endif | ||
1481 | 1485 | ||
1482 | /* Assign the tar handle as a subarchive of the ar handle */ | 1486 | /* Assign the tar handle as a subarchive of the ar handle */ |
1483 | ar_handle->dpkg__sub_archive = tar_handle; | 1487 | ar_handle->dpkg__sub_archive = tar_handle; |
@@ -1492,12 +1496,19 @@ static void init_archive_deb_data(archive_handle_t *ar_handle) | |||
1492 | tar_handle->src_fd = ar_handle->src_fd; | 1496 | tar_handle->src_fd = ar_handle->src_fd; |
1493 | 1497 | ||
1494 | /* We don't care about control.tar.* or debian-binary, just data.tar.* */ | 1498 | /* We don't care about control.tar.* or debian-binary, just data.tar.* */ |
1499 | llist_add_to(&(ar_handle->accept), (char*)"data.tar"); | ||
1495 | #if ENABLE_FEATURE_SEAMLESS_GZ | 1500 | #if ENABLE_FEATURE_SEAMLESS_GZ |
1496 | llist_add_to(&(ar_handle->accept), (char*)"data.tar.gz"); | 1501 | llist_add_to(&(ar_handle->accept), (char*)"data.tar.gz"); |
1497 | #endif | 1502 | #endif |
1498 | #if ENABLE_FEATURE_SEAMLESS_BZ2 | 1503 | #if ENABLE_FEATURE_SEAMLESS_BZ2 |
1499 | llist_add_to(&(ar_handle->accept), (char*)"data.tar.bz2"); | 1504 | llist_add_to(&(ar_handle->accept), (char*)"data.tar.bz2"); |
1500 | #endif | 1505 | #endif |
1506 | #if ENABLE_FEATURE_SEAMLESS_LZMA | ||
1507 | llist_add_to(&(ar_handle->accept), (char*)"data.tar.lzma"); | ||
1508 | #endif | ||
1509 | #if ENABLE_FEATURE_SEAMLESS_XZ | ||
1510 | llist_add_to(&(ar_handle->accept), (char*)"data.tar.xz"); | ||
1511 | #endif | ||
1501 | 1512 | ||
1502 | /* Assign the tar handle as a subarchive of the ar handle */ | 1513 | /* Assign the tar handle as a subarchive of the ar handle */ |
1503 | ar_handle->dpkg__sub_archive = tar_handle; | 1514 | ar_handle->dpkg__sub_archive = tar_handle; |