aboutsummaryrefslogtreecommitdiff
path: root/archival/unzip.c
AgeCommit message (Collapse)Author
2012-03-06update seamless uncompression codeDenys Vlasenko
This change makes "tar tf hello_world.txz" work without adding special-casing for ".txz" extension. It also removes ever-growing magic checking code in rpm2cpio and get_header_tar - we reuse one which lives in setup_unzip_on_fd. function old new delta unpack_gz_stream 7 566 +559 check_signature16 - 70 +70 setup_unzip_on_fd 99 142 +43 handle_SIGCHLD - 41 +41 unpack_bz2_stream 342 376 +34 unzip_main 2352 2385 +33 bbunpack 503 533 +30 open_transformer 74 102 +28 unpack_Z_stream 1278 1304 +26 unpack_gunzip 101 123 +22 init_transformer_aux_data - 18 +18 unpack_xz_stream 2388 2402 +14 open_zipped 131 141 +10 rpm_main 1358 1363 +5 get_header_tar_lzma 52 57 +5 get_header_tar_bz2 52 57 +5 unpack_lzma_stream 2698 2702 +4 hash_find 234 233 -1 get_header_tar 1759 1733 -26 get_header_tar_gz 92 57 -35 unpack_uncompress 51 12 -39 rpm2cpio_main 201 147 -54 unpack_unxz 67 12 -55 unpack_bz2_stream_prime 55 - -55 get_header_tar_Z 86 - -86 unpack_gz_stream_with_info 539 - -539 ------------------------------------------------------------------------------ (add/remove: 3/3 grow/shrink: 14/6 up/down: 947/-890) Total: 57 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-09-22rename archive.h to bb_archive.h. no code changesDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-09-09unzip: fflush stdout before reading interative y/n answer from stdinDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-06-05*: remove "Options:" string from help textsDenys Vlasenko
function old new delta packed_usage 28706 28623 -83 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-03-27move help text from include/usage.src.h to archival/*.cPere Orga
Signed-off-by: Pere Orga <gotrunks@gmail.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-11-03rename archival/libunarchive -> archival/libarchive; move bz/ into itDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-08-16*: make GNU licensing statement forms more regularDenys Vlasenko
This change retains "or later" state! No licensing _changes_ here, only form is adjusted (article, space between "GPL" and "v2" and so on). Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-07-26*: mass cosmetic removal of extra empty lines. no code changesDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-06-18Improve unzip's handling of stream ZIP filesDan Fandrich
Search harder for the ZIP magic numbers at the end of a file by checking 16 KiB from the end instead of just 1 KiB. ZIP files with long comments (such as certain cryptographically signed files) or those sitting in a wrapper could have more than 1 KiB of data after the magic numbers, so they couldn't be read. Signed-off-by: Dan Fandrich <dan@coneharvesters.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-05-24unzip: another small code shrinkDenys Vlasenko
function old new delta find_cdf_offset 173 160 -13 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-05-24unzip: tiny code shrink -2 bytesDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-05-24unzip: restore unix file mode if possible. closes bug 1045Denys Vlasenko
function old new delta unzip_main 2197 2188 -9 ------------------------------------------------------------------------------ (add/remove: 1/1 grow/shrink: 0/1 up/down: 173/-182) Total: -9 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-09-06unzip: more compat if DESKTOP=yDenys Vlasenko
function old new delta DESKTOP off: unzip_main 1648 1629 -19 DESKTOP=y: unzip_main 1939 2197 +258 Without this, midnight commander can't display .zip files Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-07-25unzip: try lseek before resorting to readingStefani Seibold
function old new delta unzip_skip 16 43 +27 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-02-26unzip: fix thinko with le/be conv and size (closes bug 129)Denis Vlasenko
awk: make "struct global" hack more robust wrt alignment (closes bug 131)
2008-09-21unzip: handle "central directory"Denis Vlasenko
needed for OpenOffice, gmail attachment .zips etc conditional on CONFIG_DESKTOP function old new delta unzip_main 1643 1939 +296 find_cds_offset - 173 +173 unzip_skip 11 16 +5 ------------------------------------------------------------------------------ (add/remove: 1/0 grow/shrink: 2/0 up/down: 474/0) Total: 474 bytes
2008-07-26unzip: move check for unsupported zip features to better placeDenis Vlasenko
2008-07-26unzip: give better error message when presented with unsupportedDenis Vlasenko
zip file. Add zip documentation and an example of file we cant (yet) unpack.
2008-07-05*: rename ATTRIBUTE_XXX to just XXX.Denis Vlasenko
2008-06-26style fixes, no code changesDenis Vlasenko
2007-12-24nameif: extended matching (Nico Erfurth <masta@perlgolf.de>)Denis Vlasenko
*: whitespace fixes function old new delta prepend_new_eth_table - 304 +304 nameif_main 620 684 +64 cc_macaddr 51 - -51 ------------------------------------------------------------------------------ (add/remove: 1/1 grow/shrink: 1/0 up/down: 368/-51) Total: 317 bytes
2007-11-06unzip: hmm... gcc doesn't like ATTRIBUTE_PACKED?? Document that...Denis Vlasenko
2007-11-06telnetd: fix problem with zombies (by Paul Fox <pgf@brightstareng.com>)Denis Vlasenko
syslogd: strip trailing NULs
2007-11-05change safety check on zip header to allow for extra length, andPaul Fox
revert the header read to use the correct constant rather than sizeof. at least one version of gcc (armv4-linux-gcc-3.4.1) pads the struct to 28 bytes in spite of the packing.
2007-10-19unzip: add a comment explaining why we don't dieDenis Vlasenko
2007-10-18unzip: fix endianness bugsDenis Vlasenko
2007-10-11add -fvisibility=hidden to CC flags, mark XXX_main functionsDenis Vlasenko
EXTERNALLY_VISIBLE. 5% size reduction of libbusybox.so
2007-10-01printf("%s\n") -> puts()Denis Vlasenko
2007-09-07overload the existing '-q' flag so that if '-l' and '-q' are usedPaul Fox
together, a "short form" listing (just pathnames) is generated. change a few flag variables to "smallint" as well.
2007-05-26usage.c: remove reference to busybox.hDenis Vlasenko
*: s/include "busybox.h"/include "libbb.h"
2007-03-31unzip: fix xstrndup bug (xstrndup(s,n) can allocate less than n bytes!)Denis Vlasenko
2007-02-03suppress warnings about easch <applet>_main() havingDenis Vlasenko
no preceding prototype
2007-01-05do not expose internal state of [g]zip unpacker.Denis Vlasenko
fix memory leak in inflate_gunzip.
2007-01-03extern variable declaration in a .c file is heresy - fixing itDenis Vlasenko
2006-12-26style fixesDenis Vlasenko
last xcalloc replaced by xzalloc
2006-12-22tar et al: die if bb_copyfd_size copies less than asked for.Denis Vlasenko
(we have bb_copyfd_exact_size now for that kind of usage)
2006-12-16inline strcmp(s, "-") [actually macro-ize it for now - gcc is too stupid]Denis Vlasenko
2006-10-27last nail into error_msg() (de)capitalizationDenis Vlasenko
2006-10-08correct largefile support, add comments about it.Denis Vlasenko
2006-10-08attempt to regularize atoi mess.Denis Vlasenko
2006-09-27silly switch style fixDenis Vlasenko
2006-09-11- convert a few xopen3(,,0) into xopen(,). Also peruse the fact that xopen ↵Bernhard Reutner-Fischer
defaults to 0777 on it's own, so we don't need to xopen3(,,0777). Saves a few bytes: $ size busybox.old busybox text data bss dec hex filename 839676 8780 243592 1092048 10a9d0 busybox.old 839660 8780 243592 1092032 10a9c0 busybox $ make CC=gcc-4.2-HEAD bloatcheck function old new delta static.vconfig_main 281 279 -2 static.rx_main 1076 1074 -2 static.mt_main 294 292 -2 static.gzip_main 753 751 -2 static.mkfs_minix_main 4034 4030 -4 static.unzip_main 1771 1766 -5 static.crontab_main 1513 1507 -6 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 0/7 up/down: 0/-23) Total: -23 bytes
2006-09-03archival: added O_TRUNC so that when we overwrite files on unpack,Denis Vlasenko
we truncate them. Also spotted & fixed hard to trigger bug with extension handling.
2006-08-04Ok, that's not a typo, that's just me not thinking.Rob Landley
2006-08-04Typo.Rob Landley
2006-08-04Now that we have xopen3(), it's just plain unclean to have xopen() withRob Landley
O_CREAT. Two users are still doing it (and thus getting permissions 777), I'm not sure what permissions they should be using but here they are changed to xopen3(). This costs us a dozen or so bytes, but removing the 777 from xopen() should get some of that back.
2006-08-03Remove bb_ prefixes from xfuncs.c (and a few other places), consolidateRob Landley
things like xasprintf() into xfuncs.c, remove xprint_file_by_name() (it only had one user), clean up lots of #includes... General cleanup pass. What I've been doing for the last couple days. And it conflicts! I've removed httpd.c from this checkin due to somebody else touching that file. It builds for me. I have to catch a bus. (Now you know why I'm looking forward to Mercurial.)
2006-07-20"formated" -> "formatted" throughout the code base."Robert P. J. Day"
2006-07-16Cleaup read() and write() variants, plus a couple of new functions likeRob Landley
xlseek and fdlength() for the new mkswap.
2006-06-07- reuse strings and messages. Saves about 600BBernhard Reutner-Fischer