aboutsummaryrefslogtreecommitdiff
path: root/archival/libunarchive
AgeCommit message (Collapse)Author
2004-03-15Remove trailing whitespace. Update copyright to include 2004.Eric Andersen
2004-02-21Sometimes i get carried away with the use of function pointers, im sureGlenn L McGrath
it seemed like a good idea at the time.
2004-02-20Fix up hard linksGlenn L McGrath
2004-02-20A strict interpretation of the ustar format requires the type flag to beGlenn L McGrath
interpreted, we cannot depend on the file type being set in the mode field.
2004-02-19Add extra comments, freakout if a pax archive is encoutered.Glenn L McGrath
2004-02-17Remove debuggingGlenn L McGrath
2004-02-17Dont strip trailing '/' until _after_ i test to set if its there !Glenn L McGrath
2004-01-04Fix usage with libraries, skip symbol table.Glenn L McGrath
2003-12-22Fix a bug of mine where extracting files to stdout would extract toGlenn L McGrath
much, modified patch from Bastian Blank
2003-12-21Don't hose up perms for files that happen to have symlinksEric Andersen
in the tarball that point to them. -Erik
2003-11-27Fix tar hard linksGlenn L McGrath
2003-11-21As we no longer use function pointers for read in common archiving codeGlenn L McGrath
archive_xread can be replaced with bb_full_read, and archive_copy_file with bb_copyfd* bb_copyfd is split into two functions bb_copyfd_size and bb_copyfd_eof, they share a common backend.
2003-11-21Use safe readGlenn L McGrath
2003-11-20Remove unused functionGlenn L McGrath
2003-11-20Fix tar-handles-nested-exclude testcaseGlenn L McGrath
2003-11-20Dont attempt to unlink directoriesGlenn L McGrath
2003-11-18tar -Z, uncompress supportGlenn L McGrath
2003-11-18Dont close original file handle, we may need it later.Glenn L McGrath
2003-11-17Dont free filename, its needed in the extracted files list.Glenn L McGrath
2003-11-15Fix a bug where cpio wouldnt work unless -u was specifiedGlenn L McGrath
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