aboutsummaryrefslogtreecommitdiff
path: root/archival/libunarchive
AgeCommit message (Collapse)Author
2003-11-15Move from read_gz to the pipe()+fork() method.Glenn L McGrath
open_transformer(), common code for pipe+fork. Function pointer for read() no longer needed. Allow inflate to be initialised with a specified buffer size to avoid over-reading. Reset static variables in inflate_get_next_window to fix a bug where only the first file in a .zip would be be extracted.
2003-11-15Fix memory leaksGlenn L McGrath
2003-11-14Keep trying to find a good header, if we exit it will cause .tar.gzGlenn L McGrath
files to compute incorrect crc and length for gzip
2003-11-14Fix build error with tar -jGlenn L McGrath
2003-11-14Remove some tar_gz stuff that get dragged inGlenn L McGrath
2003-11-14Remove debugging noise.Glenn L McGrath
2003-11-14Read in blocks rather than one char at a time, greatly improves speedGlenn L McGrath
2003-11-07This appears to be the correct fix to make CONFIG_FEATURE_DEB_TAR_BZ2Eric Andersen
support compile. Glenn, you may want to verify this. -Erik
2003-11-07fix commentEric Andersen
2003-11-05Fix tar -j supportGlenn L McGrath
Use the old fork() method of tar compression support, rather than read_bz2.... - (*uncompress)(int in, int out) seems like a more natural interface for compression code. - it might improve performance by seperating the work into one cpu bound and one io bound process. - There is extra code required to do read_[gz|bunzip] since (*uncompress)(int in, int out) will normally be used by the standalone compression applet. There have been problems with this method so if you see a "Short read" error let me know.
2003-10-31Put back the tar support stubs (and warnings) for now.Eric Andersen
2003-10-31Fix stupid typoEric Andersen
2003-10-28Add some error messages, use xmalloc instead of mallocGlenn L McGrath
2003-10-28Conditionally compile some files.Glenn L McGrath
This hides a bug related to the new bunzip code in the tar and dpkg[-deb] applets. It will also reduce compile time a little as some unused files wont be compiled.
2003-10-23Another bzip2 update and speedup from Manuel Novoa III, with someEric Andersen
additional changes (primarily lots of comments) from Rob Landley.
2003-10-18Manuel Novoa III writes:Eric Andersen
Hello Rob, Here's a patch to your bunzip-3.c file. Nice work btw. One minor bug fix... checking for error return when read()ing. Some size/performance optimizations as well. One instance of memset() seems unnecssary. You might want to take a look. Anyway, on my machine, decompressing linux-2.6.0-test7.tar.bz2 to /dev/null gave the following times: bunzip-3.c bzcat (system) bunzip-3.c (patched) real 0m24.420s 0m22.725s 0m20.701s user 0m23.930s 0m22.170s 0m20.180s sys 0m0.070s 0m0.080s 0m0.140s Size of the patched version is comparable (slightly larger or smaller depending on compiler flags). Manuel
2003-10-18Rob Landley's new micro-bunzip version 3. Rob writes:Eric Andersen
The API for using partial writes, as described in my last message, sucked. So here's a patch against my last patch that changes things so that write_bunzip_data calls read_bunzip_data itself behind the scenes whenever necessary. So usage is now just start_bunzip(), write_bunzip_data() until it returns a negative number, and then the cleanup at the end of uncompressStream. It adds 32 bytes to the executable, but it should allow the caller (tar) to be simplified enough to compensate. Total -Os stripped exe size now 6856 bytes. Rob P.S. I attached the whole C file so you don't have to keep incremental patches straight if you don't want to. :) P.S. In the version I'm banging on now, I've simplified the license to just LGPL. I read the OSL a bit more closely and the patent termination clause would have bit IBM in their counter-suit of SCO if the code in question had been OSL instead of GPL, and I've decided I just don't want to beta-test legal code right now.
2003-09-12Fix handling of hardlinks when OLDGNU and GNU extensions arent enabled.Glenn L McGrath
2003-09-12Use the typeflag to identify if its a hardlink on OLD and GNU posixGlenn L McGrath
modes, fixes a bug extracting hardlinks to symlinks.
2003-09-11Marc A. Lehmann writes:Eric Andersen
The tar -x command in busybox does not restore the file mode correctly. The reason is most probably this code in archival/libunarachive/data_extract_all.c: chmod(file_header->name, file_header->mode); chown(file_header->name, file_header->uid, file_header->gid); chown clears the set*id bits (on current versions of linux :). Flipping the order around fixes the problem. (tested with 1.00pre3 from cvs).
2003-09-09If a tar entry is a regualr file ending in a '/' then its really aGlenn L McGrath
directory. From http://www.gnu.org/manual/tar/html_node/tar_123.html REGTYPE AREGTYPE These flags represent a regular file. In order to be compatible with older versions of tar, a typeflag value of AREGTYPE should be silently recognized as a regular file. New archives should be created using REGTYPE. Also, for backward compatibility, tar treats a regular file whose name ends with a slash as a directory.
2003-08-28Dont unlink when testing !Glenn L McGrath
Always preserve creation date Disable the -p option its for modification date Remove some cpio header debugging noise Syncronise file listing behaviour with upstream.
2003-08-14Change hardlink handling for tar to work the same way as cpioGlenn L McGrath
2003-07-31Fix bug when handling debian packages.Glenn L McGrath
If we read the contents of compressed files within the ar archive, e.g. control.tar.gz, then file position gets all out of whack, so it has to be reset before reading thenext header.
2003-07-16Fixup problem unconditionally converting all hard links to symlinks.Eric Andersen
2003-07-14Update a bunch of docs. Run a script to update my email addr.Eric Andersen
2003-07-05Be certain to not abort prematurely when reading stuff from pipes.Eric Andersen
2003-06-12Handle hard links by converting them to symlinksGlenn L McGrath
2003-04-21unlink a previous file before its extractedGlenn L McGrath
2003-03-19Major coreutils update.Manuel Novoa III
2003-02-09Woops, my gunzip fix broke unzip, these cant be staticGlenn L McGrath
2003-02-09Moved to libunarchive/unzip.cGlenn L McGrath
2003-02-09Fix endian probelm on PPC, i had different types for an extern variable.Glenn L McGrath
2003-01-28Fix long standing bug with old gnu tar files, add a check so tar willGlenn L McGrath
complain "unknown file type" if it tries to extract an oldgnu tar file and TAR_FEATURE_OLDGNU_COMPATABILITY sint defined. Print a warning if unisupported gnu extensions are encountered.
2002-12-11A cleaner cleanup that avoids passing an off_t to scanfEric Andersen
2002-12-11squash a warningEric Andersen
2002-12-10rpm applet by Laurence AndersonGlenn L McGrath
2002-12-08Move add_to_list from libunarchive to libbb so it can be of more general use ↵Glenn L McGrath
(eg ifupdown). Changed the name to llist_add_to as i plan on adding more llist_ functions as needed (e.g. llist_free).
2002-12-04Unlink before mkdir, mknod, symlink to overwriteGlenn L McGrath
2002-12-01fix warningGlenn L McGrath
2002-11-28StyleGlenn L McGrath
2002-11-24Add an input buffer (currently 32kB) to speed things up heaps, it still ↵Glenn L McGrath
requires 25% longer to decompress as compared to upstream.
2002-11-23Fix long filename supportGlenn L McGrath
2002-11-20Speed and memory usage improvements from Laurence AdnersonGlenn L McGrath
2002-11-20read_gz patch 3 from Laurence AndersonGlenn L McGrath
2002-11-19Use read_gz, remove fork() woohoo!Glenn L McGrath
2002-11-17Patch from Laurence Anderson to provide a read_gz function, doesnt require ↵Glenn L McGrath
fork(), pipe(), consistent with read_bz2 and more flexible.
2002-11-15Allow short reads as we are looping anyway.Glenn L McGrath
2002-11-13Minor cleanupsGlenn L McGrath
2002-11-12Reduce block size to 512 to prevent short read's when reading from a pipeGlenn L McGrath