diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2008-07-10 23:06:00 +0000 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2008-07-10 23:06:00 +0000 |
commit | 0381d422d9b40c0cf887d299224c7759875aefd8 (patch) | |
tree | 764583282951c07bb6b611bef2858c5375647094 /archival/ar.c | |
parent | b6052724ffc9d45894147b70e7aff226938bd2d3 (diff) | |
download | busybox-w32-0381d422d9b40c0cf887d299224c7759875aefd8.tar.gz busybox-w32-0381d422d9b40c0cf887d299224c7759875aefd8.tar.bz2 busybox-w32-0381d422d9b40c0cf887d299224c7759875aefd8.zip |
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
Diffstat (limited to 'archival/ar.c')
-rw-r--r-- | archival/ar.c | 10 |
1 files changed, 1 insertions, 9 deletions
diff --git a/archival/ar.c b/archival/ar.c index d49329ce9..dbff6775e 100644 --- a/archival/ar.c +++ b/archival/ar.c | |||
@@ -45,7 +45,6 @@ int ar_main(int argc, char **argv) | |||
45 | 45 | ||
46 | archive_handle_t *archive_handle; | 46 | archive_handle_t *archive_handle; |
47 | unsigned opt; | 47 | unsigned opt; |
48 | char magic[8]; | ||
49 | 48 | ||
50 | archive_handle = init_handle(); | 49 | archive_handle = init_handle(); |
51 | 50 | ||
@@ -82,14 +81,7 @@ int ar_main(int argc, char **argv) | |||
82 | llist_add_to(&(archive_handle->accept), argv[optind++]); | 81 | llist_add_to(&(archive_handle->accept), argv[optind++]); |
83 | } | 82 | } |
84 | 83 | ||
85 | xread(archive_handle->src_fd, magic, 7); | 84 | unpack_ar_archive(archive_handle); |
86 | if (strncmp(magic, "!<arch>", 7) != 0) { | ||
87 | bb_error_msg_and_die("invalid ar magic"); | ||
88 | } | ||
89 | archive_handle->offset += 7; | ||
90 | |||
91 | while (get_header_ar(archive_handle) == EXIT_SUCCESS) | ||
92 | continue; | ||
93 | 85 | ||
94 | return EXIT_SUCCESS; | 86 | return EXIT_SUCCESS; |
95 | } | 87 | } |