summaryrefslogtreecommitdiff
path: root/archival/tar.c
AgeCommit message (Collapse)Author
2007-07-24Replace index_in_[sub]str_array with index_in_[sub]strings,Denis Vlasenko
which scans thru "abc\0def\0123\0\0" type strings. Saves 250 bytes. text data bss dec hex filename 781266 1328 11844 794438 c1f46 busybox_old 781010 1328 11844 794182 c1e46 busybox_unstripped
2007-07-23rework long option handling. saves ~1.2kDenis Vlasenko
function old new delta tar_longopts - 222 +222 static.udhcpc_longopts - 192 +192 start_stop_daemon_longopts - 150 +150 getopt32 1045 1185 +140 static.wget_longopts - 111 +111 static.od_longopts - 105 +105 getopt_longopts - 96 +96 install_longopts - 67 +67 ipcalc_longopts - 63 +63 static.hwclock_longopts - 54 +54 ftpgetput_longopts - 52 +52 static.dumpleases_longopts - 32 +32 env_longopts - 31 +31 runparts_longopts - 30 +30 mv_longopts - 24 +24 mkdir_longopts - 19 +19 find_pair 164 180 +16 bb_null_long_options - 16 +16 setconsole_longopts - 10 +10 display_speed 91 98 +7 collect_blk 467 474 +7 show_color 4 1 -3 ls_main 913 904 -9 bb_default_long_options 16 - -16 ls_color_opt 32 10 -22 setconsole_long_options 32 - -32 arith 2077 2030 -47 mv_long_options 48 - -48 mkdir_long_options 48 - -48 env_long_options 48 - -48 static.options 248 184 -64 runparts_long_options 80 - -80 ftpgetput_long_options 96 - -96 static.hwclock_long_options 112 - -112 install_long_options 112 - -112 static.long_options 144 - -144 static.wget_long_options 160 - -160 longopts 160 - -160 static.arg_options 304 - -304 tar_long_options 320 - -320 long_options 384 - -384 ------------------------------------------------------------------------------ (add/remove: 17/15 grow/shrink: 4/5 up/down: 1444/-2209) Total: -765 bytes text data bss dec hex filename 782618 1328 11900 795846 c24c6 busybox_old 781354 1328 11900 794582 c1fd6 busybox_unstripped
2007-06-21random shrinkage of statics, -60 bytes savedDenis Vlasenko
2007-06-04Audit bb_common_bufsiz usage, add script which looks for misuse.Denis Vlasenko
tr: stop using globals needlessly. code: -103 bytes
2007-05-26usage.c: remove reference to busybox.hDenis Vlasenko
*: s/include "busybox.h"/include "libbb.h"
2007-05-26xpipe: introduce (saves ~170 bytes)Denis Vlasenko
udhcp/signalpipe.c: use pipe instead of socketpair.
2007-04-12style fixes. No code changesDenis Vlasenko
2007-04-11bb_full_fd_action: remove potential xmalloc from NOFORK pathDenis Vlasenko
cat: stop using stdio.h opens libbb: introduce & use open[3]_or_warn function old new delta open3_or_warn - 54 +54 bb_cat 115 144 +29 open_or_warn - 25 +25 unlzma 2404 2412 +8 chattr_main 334 339 +5 xstrtoul_range_sfx 251 255 +4 telnet_main 1514 1510 -4 static.opt 4 - -4 qgravechar 122 118 -4 fuser_add_pid 61 54 -7 fuser_add_inode 154 147 -7 writeFileToTarball 1542 1534 -8 refresh 1156 1148 -8 do_show 856 846 -10 read_leases 212 200 -12 setup_redirects 236 222 -14 iproute_list_or_flush 1582 1568 -14 read_config 427 411 -16 write_leases 284 264 -20 hash_file 338 318 -20 copy_file 1760 1740 -20 do_iproute 2610 2588 -22 bb_full_fd_action 320 269 -51 open_to_or_warn 103 49 -54 fuser_main 1660 1596 -64 .rodata 131160 131096 -64 ------------------------------------------------------------------------------ (add/remove: 2/1 grow/shrink: 4/19 up/down: 125/-423) Total: -298 bytes
2007-04-08getopt32: fix llist_t options ordering. llist_rev is not unused.Denis Vlasenko
function old new delta tar_main 705 695 -10 sort_main 928 918 -10 decode_format_string 886 876 -10 run_parts_main 197 185 -12 ps_main 513 500 -13 wget_main 2764 2750 -14 awk_main 1014 1000 -14 od_main 2886 2866 -20 llist_rev 25 - -25 ------------------------------------------------------------------------------ (add/remove: 0/1 grow/shrink: 0/8 up/down: 0/-128) Total: -128 bytes
2007-04-08find: fix handling of -pruneDenis Vlasenko
recursive_actions: uppercase flag constants
2007-03-29- fold recurse, depthFirst and dereference params into one param flags.Bernhard Reutner-Fischer
Minor size improvement (-16b for size, -24b according to bloat-o-meter).
2007-03-11kill superfluous returns at the end of void functionsDenis Vlasenko
2007-03-04remove f wordsDenis Vlasenko
2007-03-03tar: handle tarfiles with (broken) checksums a-la Sun.Denis Vlasenko
2007-02-17sort: fix multiple -k (was ignoring all except last)Denis Vlasenko
2007-02-11syslogd: fix "readpath bug" by using readlink insteadDenis Vlasenko
libbb: rename xgetcwd and xreadlink
2007-02-06EXEC_PREFER_APPLETS support by Gabriel L. Somlo <somlo@cmu.edu>Denis Vlasenko
2007-02-04fix tar t segfault (closes 1183)Denis Vlasenko
2007-02-03suppress warnings about easch <applet>_main() havingDenis Vlasenko
no preceding prototype
2007-01-29preparatory patch for -Wwrite-strings #1Denis Vlasenko
2007-01-24accumulated post-1.4.0 fixesDenis Vlasenko
2007-01-11Trailing whitespace removal over entire treeDenis 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-12-17tar: report error if child dies while writing out the end of tarballDenis Vlasenko
(e.g. out of disk space).
2006-12-16inline strcmp(s, "-") [actually macro-ize it for now - gcc is too stupid]Denis Vlasenko
2006-12-12- remove functions marked as LEGACY in SUSv3 and use their modern counterparts.Bernhard Reutner-Fischer
2006-11-29fix support for globally disabling --long-options.Denis Vlasenko
(disabling them saves ~4K on fully configured bbox)
2006-11-27tar: fix misplaced --exclude long option definitionDenis Vlasenko
2006-11-26small fixes:Denis Vlasenko
fix xstrdup to not grossly overallocate memory use xopen instean of xopen3 in several places etc.
2006-11-26tar: correctly skip (and warn about) pax headers.Denis Vlasenko
plug memory leak. save 50 bytes. Wooohooo! we finally can unpack kernel tarballs!
2006-11-25tar: add support for FEATURE_TAR_GNU_EXTENSIONS so than we can saveDenis Vlasenko
long names now. We were able to read such tars, but not create. +275 bytes. Without FEATURE_TAR_GNU_EXTENSIONS: -25 bytes. We still cannot unpack Linux kernels, but not for long ;)
2006-11-25tar: small fix and small optimizationDenis Vlasenko
2006-11-25tar: abort if tarring up file larger that 64GbDenis Vlasenko
(otherwise we will produce garbled tarfile)
2006-11-24tar: fix multiple -t and/or -v options handling.Denis Vlasenko
do not process list of files to tar up in reverse order.
2006-11-24tar: sanitize option handlingDenis Vlasenko
2006-11-24tar: small fixes:Denis Vlasenko
* size-optimize mapping code * kill double close
2006-11-24tar: cache [ug]id->username/groupname mappings. Cuts down amountDenis Vlasenko
of open/read/close of /etc/passwd and /etc/group dramatically (we were rereading those for each untarred file!!!)
2006-11-24tar: cry murder and bail out if file shrinks under us while we tar it upDenis Vlasenko
2006-11-24header_verbose_list: stop truncating file size in listingDenis Vlasenko
2006-11-24tar:Denis Vlasenko
* unpack: handle tar header fields which are not NUL terminated * pack: handle 4+GB files correctly * pack: refuse to store 101+ softlinks (was truncating link target name) * pack: mask mode with 07777
2006-10-27recursive_action: add depth paramDenis Vlasenko
chmod: match coreutils versus following links
2006-10-20message string changes, mostly for consistency, also -32 bytes in .rodataDenis Vlasenko
2006-10-14add open_read_close() and similar stuffDenis Vlasenko
2006-10-12bb_get_[chomped]line_from_file wasn't descriptive enough.Denis Vlasenko
Renaming...
2006-10-12small style fixesDenis Vlasenko
2006-10-08correct largefile support, add comments about it.Denis Vlasenko
2006-10-08attempt to regularize atoi mess.Denis Vlasenko
2006-10-03getopt_ulflags -> getopt32.Denis Vlasenko
It is impossible to formulate sane ABI based on size of ulong because it can be 32-bit or 64-bit. Basically it means that you cannot portably use more that 32 option chars in one call anyway... Make it explicit.
2006-09-23bb_askpass: shorten static password buffer. 256 is way too large.Denis Vlasenko
simplify code a bit.
2006-09-10Cleanup headers and replace the zero padding with an even smaller version.Rob Landley
One of the pads turned out to be unnecessary: sizeof(struct TarHeader) is TAR_BLOCK_SIZE, the padding's in the struct. The others could be done inline with bb_common_bufsiz1. This is a cleanup I did to Denis' patch long ago, but got sidetracked by what turned into svn 15660.