Denis Vlasenko
07766bb0e7
gzip: reduce global data footprint, part 3
2007-03-14 00:06:51 +00:00
Denis Vlasenko
baca175912
kill superfluous returns at the end of void functions
2007-03-11 13:43:10 +00:00
Denis Vlasenko
ab9eef21a5
bunzip2/gunzip/uncompress/unlzma: merge into common code -
...
fix few corner cases, reduce size by 450 bytes. Update testsuite.
2007-03-07 22:02:23 +00:00
Denis Vlasenko
940494f813
remove f words
2007-03-04 18:09:50 +00:00
Denis Vlasenko
dcbd51dd28
tar: handle tarfiles with (broken) checksums a-la Sun.
2007-03-03 20:06:59 +00:00
Denis Vlasenko
e54b472ffc
make tar restore mode again
2007-02-12 22:06:56 +00:00
Denis Vlasenko
150f402b36
whitespace fixes (leading spaces to tab)
2007-01-13 21:06:21 +00:00
Denis Vlasenko
1a8bf7f5d3
missed a few #undefs (no real impact I think)
2007-01-10 20:57:03 +00:00
Denis Vlasenko
7573541f74
fix bug 1146 (gunzip breakage introduced by me --vda)
2007-01-10 20:50:04 +00:00
Denis Vlasenko
c7a4aa5c99
move [g]zip decompressor state into malloc'ed buffer. size:
...
text data bss dec hex
5256 0 108 5364 14f4 - old
4915 0 0 4915 1333 - new
2007-01-06 00:03:11 +00:00
Denis Vlasenko
d1a19affeb
split inflate_xx_setup() subroutines from inflate_xx()
2007-01-05 23:58:45 +00:00
Denis Vlasenko
cd42cb8df0
do not expose internal state of [g]zip unpacker.
...
fix memory leak in inflate_gunzip.
2007-01-05 23:56:53 +00:00
Denis Vlasenko
447b543eaf
Stopped doing assignments inside expressions.
...
Who wrote this gem, I wonder?
n -= (e = (e = gunzip_wsize - ((d &= gunzip_wsize - 1) > w ? d : w)) > n ? n : e);
2007-01-05 19:49:02 +00:00
Denis Vlasenko
cc33ef12d2
decompress_unzip: preparatory patch
2007-01-05 19:46:04 +00:00
Denis Vlasenko
3376298b59
Stop tracking buffer size - it is a constant.
...
Stop ignoring write errors.
Fix bugs in this line:
rc->buffer_size = read(rc->fd, RC_BUFFER, rc->buffer_size);
(a) should use safe_read()
(b) just ONE short read (e.g. 4 bytes) will make ALL future reads short!
2007-01-05 14:04:47 +00:00
Denis Vlasenko
98b8e9487d
simplify access to buffer, making code a bit smaller
2007-01-05 13:59:05 +00:00
Denis Vlasenko
bb3d0fab3b
extern variable declaration in a .c file is heresy - fixing it
2007-01-03 01:57:25 +00:00
Denis Vlasenko
666da5e2c6
merge post-1.3.0 fixes
2006-12-26 18:17:42 +00:00
Denis Vlasenko
bf0a201008
style fixes
...
last xcalloc replaced by xzalloc
2006-12-26 10:42:51 +00:00
Denis Vlasenko
4cccc03768
remove useless casts (type*) xzalloc(...)
2006-12-22 18:37:07 +00:00
Denis Vlasenko
afc9ff99fd
removal of commented-out cruft
2006-12-22 00:45:27 +00:00
Denis Vlasenko
714701c890
tar et al: die if bb_copyfd_size copies less than asked for.
...
(we have bb_copyfd_exact_size now for that kind of usage)
2006-12-22 00:21:07 +00:00
Denis Vlasenko
d9e15f2068
style cleanup: return(a) -> return a, part 2
2006-11-27 16:49:55 +00:00
Denis Vlasenko
079f8afa0a
style cleanup: return(a) -> return a, part 1
2006-11-27 16:49:31 +00:00
Denis Vlasenko
c1660fea6d
tar: refuse to untar files with "/../" components
2006-11-26 15:42:03 +00:00
Denis Vlasenko
b596335868
tar: correctly skip (and warn about) pax headers.
...
plug memory leak. save 50 bytes.
Wooohooo! we finally can unpack kernel tarballs!
2006-11-26 01:46:59 +00:00
Denis Vlasenko
87cd4a87e3
tar: small fix and small optimization
2006-11-25 23:47:32 +00:00
Denis Vlasenko
b833ca9d2d
tar: buglet fix
2006-11-24 18:53:13 +00:00
Denis Vlasenko
d6772501db
tar: fix and sanitize handling of long filenames/linknames
...
(GNU extensions 'K' and 'L').
We correctly handle them when untarring now, but unfortunately
we still don't use them when tarring! That stupid 100 char limit
is still there!
The biggest problem is that we don't support 'pax' tar format.
Linux kernel tarballs are in this format... shame
2006-11-24 17:21:44 +00:00
Denis Vlasenko
cf30cc82a3
header_verbose_list: stop truncating file size in listing
2006-11-24 14:53:18 +00:00
Denis Vlasenko
376ce1e775
tar:
...
* 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-11-24 14:51:01 +00:00
Denis Vlasenko
9229794ab3
insmod_ng_main: -80 bytes. Stopp mmapping, use xmalloc_open_read_close().
2006-11-21 11:58:14 +00:00
Denis Vlasenko
3eb91c2e35
cpio: (allegedly) fix bug 0001095:
...
"cpio hardlink support and possible memory leak fix"
2006-11-21 00:55:46 +00:00
Denis Vlasenko
e1a0d486e4
message string changes, mostly for consistency, also -32 bytes in .rodata
2006-10-20 13:28:22 +00:00
Denis Vlasenko
ea62077b85
add open_read_close() and similar stuff
2006-10-14 02:23:43 +00:00
Denis Vlasenko
1114de7219
od: provide full-blown od from coreutils if CONFIG_DESKTOP
2006-10-10 23:26:05 +00:00
Denis Vlasenko
cba9ef5523
fixes from Vladimir Dronnikov <dronnikov@gmail.ru>
2006-10-10 21:00:47 +00:00
Denis Vlasenko
1385899416
attempt to regularize atoi mess.
2006-10-08 12:49:22 +00:00
Denis Vlasenko
7d219aab70
build system overhaul
2006-10-05 10:17:08 +00:00
Denis Vlasenko
97a8dd3857
g[un]zip: add support for -v (verbose).
...
Add CONFIG_DESKTOP, almost all bloat from this change
is hidden under that.
2006-10-01 15:55:11 +00:00
Denis Vlasenko
3038ac9c19
vconfig: fix bug 701 (I be damned if I understand it)
2006-09-30 19:37:25 +00:00
Denis Vlasenko
c16bd212e3
silly switch style fix
2006-09-27 19:51:06 +00:00
Denis Vlasenko
9213a9e0f2
whitespace cleanup
2006-09-17 16:28:10 +00:00
Denis Vlasenko
6d655be5df
removed a lot of trailing \n in bb_msg() calls. It is added
...
automatically by function itself.
2006-09-06 19:02:46 +00:00
Bernhard Reutner-Fischer
5d725462d4
- strip 399424 off the bss by making decompress_uncompress buffers config buffers.
...
Compile tested (too lazy to look for a small .Z on the net).
$ size busybox.old busybox
text data bss dec hex filename
859555 10232 645732 1515519 171fff busybox.old
859683 10232 246308 1116223 11083f busybox
$ make bloatcheck
function old new delta
uncompress 1036 1160 +124
inbuf 2116 4 -2112
outbuf 4100 4 -4096
htab 131072 - -131072
codetab 262144 - -262144
------------------------------------------------------------------------------
(add/remove: 0/2 grow/shrink: 1/2 up/down: 124/-399424) Total: -399300 bytes
2006-09-06 15:28:32 +00:00
Denis Vlasenko
314908da9e
tar: revert older fix (non-portable), added new one.
...
testsuite tar-extracts-all-subdirs now passes.
2006-09-03 14:04:33 +00:00
Denis Vlasenko
06ab5fb6b9
tar: tar xf foo.tar dir/dir did not extract all subdirs.
...
Added testsuite entry for this
2006-09-02 18:40:10 +00:00
Rob Landley
daf58ef61a
Use xopen3() instead of an after-the-fact chown.
2006-08-04 17:26:58 +00:00
Rob Landley
d921b2ecc0
Remove bb_ prefixes from xfuncs.c (and a few other places), consolidate
...
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-08-03 15:41:12 +00:00
"Robert P. J. Day"
eea561871b
"formated" -> "formatted" throughout the code base.
2006-07-20 19:02:24 +00:00
Rob Landley
534374755d
Cleaup read() and write() variants, plus a couple of new functions like
...
xlseek and fdlength() for the new mkswap.
2006-07-16 08:14:35 +00:00
"Robert P. J. Day"
801ab14013
Add one-line GPL boilerplate to numerous (but not all yet) source files.
2006-07-12 07:56:04 +00:00
Rob Landley
ff6e21c2ce
Fix tar so it can extract git-generated tarballs, based on a suggestion
...
from Erik Frederiksen.
2006-07-06 20:30:19 +00:00
"Robert P. J. Day"
63fc1a9e08
Standardize on the vi editing directives being on the first line.
2006-07-02 19:47:05 +00:00
"Robert P. J. Day"
68229837ff
Remove all usage of the "register" storage class specifier.
2006-07-01 13:08:46 +00:00
Rob Landley
11c7a7bed6
Various cleanups I made while going through Erik Hovland's patch submissions,
...
some of which are even from him. :)
2006-06-25 22:39:24 +00:00
Rob Landley
b13fee4cbb
Since rangecoder is just a bunch of C functions, move it into the one user
...
(decompress_unlzma.c). Also a slight #include cleanup, and I've been meaning
to put #include <unistd.h> into libbb.h since it's so darn common...
2006-06-20 22:38:00 +00:00
Rob Landley
1ec5b29054
More size shrinkage.
2006-05-29 07:42:02 +00:00
Rob Landley
bba7f08d27
Add SWAP_LE?? and SWAP_BE?? macros, and make things use them. Converts values
...
to/from little endian or big endian, which is a NOP if that's what the current
platform already is.
2006-05-29 05:51:12 +00:00
Rob Landley
8bb50782a5
Change llist_add_* to take the address of the list rather than returning the new
...
head, and change all the callers.
2006-05-26 23:44:51 +00:00
Bernhard Reutner-Fischer
6d0dbeb550
- use ATTRIBUTE_ALWAYS_INLINE if requested
...
- use shorter boilerplate while at it
2006-05-26 13:13:11 +00:00
Mike Frysinger
d9b6b844e5
pull Rules.mak from top_srcdir as pointed out by Robert P. J. Day on the mailing list
2006-05-13 02:33:41 +00:00
Rob Landley
2ad1e7ce44
Patch from Vladamir Oleynik, reducing memory consumption.
2006-05-11 15:23:23 +00:00
Rob Landley
7e21d5f6b1
Patch from Dennis Vlasenko to add the option to compress help text.
2006-04-27 23:34:46 +00:00
Rob Landley
e66c7efc31
Busybox is under the GPL.
2006-04-14 19:25:01 +00:00
Bernhard Reutner-Fischer
6b4377f333
- remove unneeded include, use shorter boilerplate while at it and also
...
shrink filter_accept_reject_list() a tiny bit while at it.
text data bss dec hex filename
59 0 0 59 3b filter_accept_reject_list.o
62 0 0 62 3e filter_accept_reject_list.o.orig
2006-04-13 13:32:16 +00:00
Rob Landley
c57ec37959
Patch from Rob Sullivan to consolidate crc32 table generation.
2006-04-10 17:07:15 +00:00
Bernhard Reutner-Fischer
fa939aae81
- include proper headers.
2006-04-05 16:21:37 +00:00
Bernhard Reutner-Fischer
cfb53dfd5e
- include proper prototypes in libunarchive.
2006-04-02 21:50:01 +00:00
Bernhard Reutner-Fischer
7ab5f4d03d
- janitorial: huft_build is never used outside of decompress_unzip.c and has no
...
prototype (which suggests that it's of no general use) so make it static for now.
2006-04-02 21:23:40 +00:00
Bernhard Reutner-Fischer
a1bccc0ba8
- typos: s/compatability/compatibility/g;s/compatable/compatible/g;
2006-04-02 20:17:55 +00:00
Bernhard Reutner-Fischer
df10094870
- revert back to r14406
2006-03-13 19:04:00 +00:00
Rob Landley
bc68cd14cc
Patch from Denis Vlasenko turning static const int (which gets emitted into
...
the busybox binary) into enums (which don't).
2006-03-10 19:22:06 +00:00
Rob Landley
49a5599ae9
Patch from Denis Vlasenko to make unlzma smaller.
2006-03-09 17:51:25 +00:00
Bernhard Reutner-Fischer
07a79e75f5
- backout using features which are not available with the previous stable
...
version of make (3.71.1).
2006-03-09 09:03:37 +00:00
Rob Landley
dfba741457
Robert P. Day removed 8 gazillion occurrences of "extern" on function
...
definitions. (That should only be on prototypes.)
2006-03-06 20:47:33 +00:00
Rob Landley
688ed0d760
Patch from Robert P. Day, moving byte order checks to use platform.h macros.
2006-03-04 22:40:25 +00:00
Bernhard Reutner-Fischer
022eb311d5
- use absolute path for top_builddir and top_srcdir.
...
Fixes make trying to include the very same file in an endless loop.
2006-03-02 17:33:25 +00:00
Bernhard Reutner-Fischer
5d26126b9e
- fixes parallel builds (make -j)
...
- use less resources for the buildsystem itself
2006-03-01 22:54:48 +00:00
Rob Landley
e7c43b66d7
Cleanup patch from Denis Vlasenko. Mostly variants of removing the if(x)
...
from before "if(x) free(x)".
2006-03-01 16:39:45 +00:00
"Vladimir N. Oleynik"
325da7b509
use bb_xstrndup vs strndup. Thanks rfelker.
2006-03-01 05:39:41 +00:00
Rob Landley
06249fee39
Bug 640: a filename of length exactly 100 could bleed into the next field on
...
display or extract. (Only shows up when no gnu longname extension, either
because it's disabled or because tarball hasn't got it.)
2006-02-20 19:28:53 +00:00
Rob Landley
eb00afb2d5
The gentoo security guys found another way to segfault busybox's decompression
...
code: we can do a null dereference if one of our huffman tables has all zero
length codes. This fixes it. (Thanks solar.)
2006-02-20 02:18:03 +00:00
Rob Landley
efae294b15
Fix for an integer overflow bug that could cause a segfault on certain
...
pathological archives.
(Unlikely to have security implications, the only way to trigger it basically
wound up doing memset(dbuf,x,2^31) and triggering an immediate segfault. The
test basically gives us a more polite error message.)
Thanks to Ned Ludd and the Gentoo security guys for finding this.
2006-02-17 05:19:40 +00:00
Rob Landley
2c98c40ec8
The tendency of vi to auto-indent can be really annoying at times.
2006-02-17 05:12:03 +00:00
Rob Landley
f856eabcde
More whitespace than you can possibly imagine...
2006-02-17 03:43:49 +00:00
Mike Frysinger
b38673fb9f
make the build system puuuuuuuuuuurty
2006-02-02 01:41:53 +00:00
Eric Andersen
d78aea8b8e
sort out yet more type issues
2006-01-30 18:00:02 +00:00
Eric Andersen
f55289f4b9
fixup a few types to prevent gcc (rightfully) whining about mixing
...
signed and unsigned, unmatches pointer target types, etc
2006-01-30 17:27:00 +00:00
Tim Riker
c1ef7bdd8d
just whitespace
2006-01-25 00:08:53 +00:00
Bernhard Reutner-Fischer
86f5c9906b
- add platform.h.
...
- use shorter boilerplate while at it.
2006-01-22 22:55:11 +00:00
Rob Landley
c1d69906a0
Patch from Aurelien Jacobs to add unlzma. (A new decompression type,
...
see www.7-zip.org)
2006-01-20 18:28:50 +00:00
Bernhard Reutner-Fischer
7ca61b6f33
- shared libbusybox.
...
- IMA compilation option (aka IPO, IPA,..)
Please holler if i broke something..
2006-01-15 14:04:57 +00:00
Rob Landley
9e4100bf95
Don't return 0 when there's an error.
2006-01-10 06:19:56 +00:00
Bernhard Reutner-Fischer
823f80f5ad
- silence warning about unused param
...
needs revisit later on like many others to use ATTRIBUTE_UNUSED from platform.h
2005-12-29 21:17:05 +00:00
Rob Landley
5412843e79
I noticed that "tar tvjf file.tbz" was segfaulting. This fixed it.
2005-11-12 02:54:06 +00:00
Rob Landley
f3d6c94c7f
Add --no-same-owner and --no-same-permissions options to tar.
2005-10-27 22:49:08 +00:00
Bernhard Reutner-Fischer
309dc2d642
- typo in makefile variable: s/archvial/archival/
2005-10-13 10:19:35 +00:00
Rob Landley
161aae7273
There doesn't seem to be a standard header for makedev(), but this is close.
2005-10-11 20:17:30 +00:00
Bernhard Reutner-Fischer
0b42a6a8cf
- remove superfluous C statements ";;" in decompress_unzip.c, dpkg_deb.c ifconfig.c
...
- gzip.c: see if O_NOFOLLOW is defined before using it, else take alternate path
closes bug #221 (partially; The rest will follow later).
2005-10-07 11:34:50 +00:00