0d6d88a205
The API for using partial writes, as described in my last message, sucked. So here's a patch against my last patch that changes things so that write_bunzip_data calls read_bunzip_data itself behind the scenes whenever necessary. So usage is now just start_bunzip(), write_bunzip_data() until it returns a negative number, and then the cleanup at the end of uncompressStream. It adds 32 bytes to the executable, but it should allow the caller (tar) to be simplified enough to compensate. Total -Os stripped exe size now 6856 bytes. Rob P.S. I attached the whole C file so you don't have to keep incremental patches straight if you don't want to. :) P.S. In the version I'm banging on now, I've simplified the license to just LGPL. I read the OSL a bit more closely and the patent termination clause would have bit IBM in their counter-suit of SCO if the code in question had been OSL instead of GPL, and I've decided I just don't want to beta-test legal code right now. |
||
---|---|---|
.. | ||
archive_copy_file.c | ||
archive_xread_all_eof.c | ||
archive_xread_all.c | ||
archive_xread_char.c | ||
archive_xread.c | ||
check_header_gzip.c | ||
data_align.c | ||
data_extract_all.c | ||
data_extract_to_buffer.c | ||
data_extract_to_stdout.c | ||
data_skip.c | ||
decompress_bunzip2.c | ||
decompress_uncompress.c | ||
decompress_unzip.c | ||
filter_accept_all.c | ||
filter_accept_list_reassign.c | ||
filter_accept_list.c | ||
filter_accept_reject_list.c | ||
find_list_entry.c | ||
get_header_ar.c | ||
get_header_cpio.c | ||
get_header_tar_bz2.c | ||
get_header_tar_gz.c | ||
get_header_tar.c | ||
header_list.c | ||
header_skip.c | ||
header_verbose_list.c | ||
init_handle.c | ||
Makefile | ||
Makefile.in | ||
seek_by_char.c | ||
seek_by_jump.c | ||
uncompress.c | ||
unpack_ar_archive.c | ||
unzip.c |