summaryrefslogtreecommitdiff
path: root/archival
diff options
context:
space:
mode:
authorDenis Vlasenko2007-10-16 14:07:41 +0000
committerDenis Vlasenko2007-10-16 14:07:41 +0000
commit686b0ef7d83f11741c21aae292558671e5298799 (patch)
treeb70e2f3dde947681d9329abe6ed1a03de81e6be9 /archival
parent008eda2c548045b4918ebb2e132940a790a84201 (diff)
downloadbusybox-686b0ef7d83f11741c21aae292558671e5298799.zip
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
Diffstat (limited to 'archival')
-rw-r--r--archival/bz/bzlib.c2
-rw-r--r--archival/bz/bzlib.h4
-rw-r--r--archival/bzip2.c2
3 files changed, 7 insertions, 1 deletions
diff --git a/archival/bz/bzlib.c b/archival/bz/bzlib.c
index f27050a..cdb596c 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 602aab9..1bb811c 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 c750a05..67df144 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;
}