aboutsummaryrefslogtreecommitdiff
path: root/archival/libunarchive/data_extract_all.c
AgeCommit message (Collapse)Author
2010-01-06libunarchive: clean up dirty hacks. code shrank as a resultDenys Vlasenko
function old new delta cpio_main 526 539 +13 init_handle 57 58 +1 init_archive_deb_ar 34 35 +1 get_header_ar 408 409 +1 dpkg_main 3900 3901 +1 unpack_package 516 515 -1 rpm_main 1673 1672 -1 tar_main 774 767 -7 get_header_cpio 990 972 -18 data_extract_all 750 727 -23 get_header_tar 1631 1576 -55 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 5/6 up/down: 17/-105) Total: -88 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-12-16tar: add support for --overwrite. +70 bytes.Denys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-11-29fix improper utimes usageDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-11-29tar: fix bug 673 (misdetection of repeated dir as hardlink). +92 bytesDenys Vlasenko
While at it, remove many superfluous ops on unpack: mkdir("."), lots of umask() calls. Can remove more by caching username->uid. Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-11-24libunarchive: fix reversed test for older/newerDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-11-15some non-gnu compilers can't have non-const struct initializersDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-11-15use utimes() rather than obsolescent utime()Bernhard Reutner-Fischer
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2009-09-17tar: do chown, not lchown to restore mode (compat)Denys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-09-17tar: fix --numeric-owner, --no-same-owner, --no-same-permissions bitsDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-08-30libunarchive: fix a bug where mode and time is no longer restoredDenys Vlasenko
Introduced by me in 1.15.x. Found by Rob Landley. Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-07-05df: fix "df /"Denys Vlasenko
also, clean up mount checks in mkfs/fsck. function old new delta find_mount_point 243 261 +18 sha1_process_block64 497 510 +13 find_main 436 444 +8 display_speed 85 90 +5 df_main 795 793 -2 parse_command 1463 1460 -3 static.ignored_mounts 8 - -8 mkfs_minix_main 2962 2937 -25 fsck_minix_main 3065 2970 -95 ------------------------------------------------------------------------------ (add/remove: 0/1 grow/shrink: 4/4 up/down: 44/-133) Total: -89 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-05-05libunarchive: fix build failure with !FEATURE_TAR_UNAME_GNAMEMike Frysinger
We can't use C if(...) with ENABLE_FEATURE_TAR_UNAME_GNAME because it relies on conditional members in the file_header_t structure: archival/libunarchive/data_extract_all.c: In function ‘data_extract_all’: archival/libunarchive/data_extract_all.c:123: error: ‘file_header_t’ has no member named ‘uname’ archival/libunarchive/data_extract_all.c:124: error: ‘file_header_t’ has no member named ‘uname’ archival/libunarchive/data_extract_all.c:127: error: ‘file_header_t’ has no member named ‘gname’ archival/libunarchive/data_extract_all.c:128: error: ‘file_header_t’ has no member named ‘gname’ make[1]: *** [archival/libunarchive/data_extract_all.o] Error 1 Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2009-04-21tar: support for tar --numeric-owner. By Natanael Copa.Denis Vlasenko
function old new delta tar_longopts 221 237 +16 data_extract_all 692 705 +13 tar_main 690 702 +12
2008-10-17data_extract_all: do not complain if directory exists on mkdirDenis Vlasenko
rpm/cpio: move "20653 blocks" printout from get_header_cpio to cpio_main - rpm doesn't want to have that
2008-06-28libunarchive: stop using static data in archivers - archive_handle_tDenis Vlasenko
can trivially provide space for that. rpm: code shrink tar: simplify autodetection of bz2/.gz function old new delta static.not_first 1 - -1 static.end 1 - -1 bb_makedev 51 49 -2 static.saved_hardlinks_created 4 - -4 static.saved_hardlinks 4 - -4 longname 4 - -4 linkname 4 - -4 hash_file 251 247 -4 get_header_tar 1528 1521 -7 rpm_main 1711 1697 -14 get_header_cpio 965 944 -21 ------------------------------------------------------------------------------ (add/remove: 0/6 grow/shrink: 0/5 up/down: 0/-66) Total: -66 bytes text data bss dec hex filename 804926 611 6868 812405 c6575 busybox_old 804878 611 6852 812341 c6535 busybox_unstripped
2008-06-27*: introduce and use FAST_FUNC: regparm on i386, otherwise no-onDenis Vlasenko
text data bss dec hex filename 808035 611 6868 815514 c719a busybox_old 804472 611 6868 811951 c63af busybox_unstripped
2008-04-05cpio: fix a bug where we do not extract zero-sized hardlinksDenis Vlasenko
(spotted at http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=466771). Add testsuite entry for that, and another one for another bug: we do not list hardlinks in cpio -t (not fixed). function old new delta get_header_cpio 884 909 +25 static.saved_hardlinks_created - 4 +4 static.pending_hardlinks 4 - -4 static.inode 4 - -4 cpio_main 1122 1060 -62
2008-02-14tar: real support for -p. +200 if selected.Denis Vlasenko
By Natanael Copa <natanael.copa at gmail.com>
2007-06-20do not do utime() on links, it acts on link targets, and we don't want that.Denis Vlasenko
rename link_name to link_target, less confusing this way.
2007-02-12make tar restore mode againDenis Vlasenko
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-10-10fixes from Vladimir Dronnikov <dronnikov@gmail.ru>Denis Vlasenko
2006-09-27silly switch style fixDenis Vlasenko
2006-08-04Use xopen3() instead of an after-the-fact chown.Rob Landley
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-12Add one-line GPL boilerplate to numerous (but not all yet) source files."Robert P. J. Day"
2006-07-02Standardize on the vi editing directives being on the first line."Robert P. J. Day"
2006-03-06Robert P. Day removed 8 gazillion occurrences of "extern" on functionRob Landley
definitions. (That should only be on prototypes.)
2005-10-27Add --no-same-owner and --no-same-permissions options to tar.Rob Landley
2004-10-13Make certain clients of bb_make_directory default to honoringEric Andersen
the user's umask
2004-04-14Larry Doolittle writes:Eric Andersen
This is a bulk spelling fix patch against busybox-1.00-pre10. If anyone gets a corrupted copy (and cares), let me know and I will make alternate arrangements. Erik - please apply. Authors - please check that I didn't corrupt any meaning. Package importers - see if any of these changes should be passed to the upstream authors. I glossed over lots of sloppy capitalizations, missing apostrophes, mixed American/British spellings, and German-style compound words. What is "pretect redefined for test" in cmdedit.c? Good luck on the 1.00 release! - Larry
2004-03-15Remove trailing whitespace. Update copyright to include 2004.Eric Andersen
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-20Dont attempt to unlink directoriesGlenn L McGrath
2003-11-15Fix a bug where cpio wouldnt work unless -u was specifiedGlenn L McGrath
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-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-04-21unlink a previous file before its extractedGlenn L McGrath
2003-03-19Major coreutils update.Manuel Novoa III
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-10rpm applet by Laurence AndersonGlenn L McGrath
2002-12-04Unlink before mkdir, mknod, symlink to overwriteGlenn L McGrath
2002-11-03Abstract read and seek in unarchiving code, convert bunzip to file ↵Glenn L McGrath
descriptors, support tar -j
2002-10-10last_patch61 from vodz:Eric Andersen
New complex patch for decrease size devel version. Requires previous patch. Also removed small problems from dutmp and tar applets. Also includes vodz' last_patch61_2: Last patch correcting comment for #endif and more integrated with libbb (very reduce size if used "cat" applet also). Requires last_patch61 for modutils/config.in.
2002-09-30Patch from Konstantin Isakov <ikm@pisem.net>:Eric Andersen
In most cases, dirname returns the same argument it was given, so this code works nice, but there's one special case: when the name contains no dirname, it returns "." (stored statically in the body of itself), and we get a segfault in attempt to free() it. This patch fixes this problem.
2002-09-27Fix compress support and prevent a segfaultGlenn L McGrath
2002-09-25New common unarchive code.Glenn L McGrath