diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2007-10-16 14:07:41 +0000 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2007-10-16 14:07:41 +0000 |
commit | 686b0ef7d83f11741c21aae292558671e5298799 (patch) | |
tree | b70e2f3dde947681d9329abe6ed1a03de81e6be9 | |
parent | 008eda2c548045b4918ebb2e132940a790a84201 (diff) | |
download | busybox-686b0ef7d83f11741c21aae292558671e5298799.tar.gz |
bzip2: move state pointer to the offset 0 (smaller code)
ifdef out DecompressEnd if FEATURE_CLEAN_UP is not seleted
fallbackSort 1655 1672 +17
mainSort 2447 2458 +11
bzip2_main 109 119 +10
.rodata 123466 123469 +3
generateMTFValues 433 435 +2
handle_compress 355 356 +1
BZ2_bzCompress 79 78 -1
prepare_new_block 55 48 -7
compressStream 547 503 -44
sendMTFValues 2225 2140 -85
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 6/4 up/down: 44/-137) Total: -93 bytes
text data bss dec hex filename
676421 2538 12104 691063 a8b77 busybox_old
676328 2538 12104 690970 a8b1a busybox_unstripped
-rw-r--r-- | archival/bz/bzlib.c | 2 | ||||
-rw-r--r-- | archival/bz/bzlib.h | 4 | ||||
-rw-r--r-- | archival/bzip2.c | 2 |
3 files changed, 7 insertions, 1 deletions
diff --git a/archival/bz/bzlib.c b/archival/bz/bzlib.c index f27050a3c..cdb596cb1 100644 --- a/archival/bz/bzlib.c +++ b/archival/bz/bzlib.c @@ -363,6 +363,7 @@ case_BZ_M_FLUSHING: /*---------------------------------------------------*/ +#if ENABLE_FEATURE_CLEAN_UP static void BZ2_bzCompressEnd(bz_stream *strm) { @@ -375,6 +376,7 @@ void BZ2_bzCompressEnd(bz_stream *strm) free(s->crc32table); free(strm->state); } +#endif /*---------------------------------------------------*/ diff --git a/archival/bz/bzlib.h b/archival/bz/bzlib.h index 602aab926..1bb811c4a 100644 --- a/archival/bz/bzlib.h +++ b/archival/bz/bzlib.h @@ -43,20 +43,22 @@ in the file LICENSE. #define BZ_CONFIG_ERROR (-9) typedef struct bz_stream { + void *state; char *next_in; char *next_out; unsigned avail_in; unsigned avail_out; /*unsigned long long total_in;*/ unsigned long long total_out; - void *state; } bz_stream; /*-- Core (low-level) library functions --*/ static void BZ2_bzCompressInit(bz_stream *strm, int blockSize100k); static int BZ2_bzCompress(bz_stream *strm, int action); +#if ENABLE_FEATURE_CLEAN_UP static void BZ2_bzCompressEnd(bz_stream *strm); +#endif /*-------------------------------------------------------------*/ /*--- end bzlib.h ---*/ diff --git a/archival/bzip2.c b/archival/bzip2.c index c750a056f..67df14416 100644 --- a/archival/bzip2.c +++ b/archival/bzip2.c @@ -116,7 +116,9 @@ USE_DESKTOP(long long) int bz_write_tail(bz_stream *strm, void *wbuf) total = 0 USE_DESKTOP( + strm->total_out ); err: +#if ENABLE_FEATURE_CLEAN_UP BZ2_bzCompressEnd(strm); +#endif return total; } |