mirror of https://github.com/madler/zlib.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1608 lines
81 KiB
1608 lines
81 KiB
|
|
ChangeLog file for zlib |
|
|
|
Changes in 1.3 (18 Aug 2023) |
|
- Remove K&R function definitions and zlib2ansi |
|
- Fix bug in deflateBound() for level 0 and memLevel 9 |
|
- Fix bug when gzungetc() is used immediately after gzopen() |
|
- Fix bug when using gzflush() with a very small buffer |
|
- Fix crash when gzsetparams() attempted for transparent write |
|
- Fix test/example.c to work with FORCE_STORED |
|
- Rewrite of zran in examples (see zran.c version history) |
|
- Fix minizip to allow it to open an empty zip file |
|
- Fix reading disk number start on zip64 files in minizip |
|
- Fix logic error in minizip argument processing |
|
- Add minizip testing to Makefile |
|
- Read multiple bytes instead of byte-by-byte in minizip unzip.c |
|
- Add memory sanitizer to configure (--memory) |
|
- Various portability improvements |
|
- Various documentation improvements |
|
- Various spelling and typo corrections |
|
|
|
Changes in 1.2.13 (13 Oct 2022) |
|
- Fix configure issue that discarded provided CC definition |
|
- Correct incorrect inputs provided to the CRC functions |
|
- Repair prototypes and exporting of new CRC functions |
|
- Fix inflateBack to detect invalid input with distances too far |
|
- Have infback() deliver all of the available output up to any error |
|
- Fix a bug when getting a gzip header extra field with inflate() |
|
- Fix bug in block type selection when Z_FIXED used |
|
- Tighten deflateBound bounds |
|
- Remove deleted assembler code references |
|
- Various portability and appearance improvements |
|
|
|
Changes in 1.2.12 (27 Mar 2022) |
|
- Cygwin does not have _wopen(), so do not create gzopen_w() there |
|
- Permit a deflateParams() parameter change as soon as possible |
|
- Limit hash table inserts after switch from stored deflate |
|
- Fix bug when window full in deflate_stored() |
|
- Fix CLEAR_HASH macro to be usable as a single statement |
|
- Avoid a conversion error in gzseek when off_t type too small |
|
- Have Makefile return non-zero error code on test failure |
|
- Avoid some conversion warnings in gzread.c and gzwrite.c |
|
- Update use of errno for newer Windows CE versions |
|
- Small speedup to inflate [psumbera] |
|
- Return an error if the gzputs string length can't fit in an int |
|
- Add address checking in clang to -w option of configure |
|
- Don't compute check value for raw inflate if asked to validate |
|
- Handle case where inflateSync used when header never processed |
|
- Avoid the use of ptrdiff_t |
|
- Avoid an undefined behavior of memcpy() in gzappend() |
|
- Avoid undefined behaviors of memcpy() in gz*printf() |
|
- Avoid an undefined behavior of memcpy() in _tr_stored_block() |
|
- Make the names in functions declarations identical to definitions |
|
- Remove old assembler code in which bugs have manifested |
|
- Fix deflateEnd() to not report an error at start of raw deflate |
|
- Add legal disclaimer to README |
|
- Emphasize the need to continue decompressing gzip members |
|
- Correct the initialization requirements for deflateInit2() |
|
- Fix a bug that can crash deflate on some input when using Z_FIXED |
|
- Assure that the number of bits for deflatePrime() is valid |
|
- Use a structure to make globals in enough.c evident |
|
- Use a macro for the printf format of big_t in enough.c |
|
- Clean up code style in enough.c, update version |
|
- Use inline function instead of macro for index in enough.c |
|
- Clarify that prefix codes are counted in enough.c |
|
- Show all the codes for the maximum tables size in enough.c |
|
- Add gznorm.c example, which normalizes gzip files |
|
- Fix the zran.c example to work on a multiple-member gzip file |
|
- Add tables for crc32_combine(), to speed it up by a factor of 200 |
|
- Add crc32_combine_gen() and crc32_combine_op() for fast combines |
|
- Speed up software CRC-32 computation by a factor of 1.5 to 3 |
|
- Use atomic test and set, if available, for dynamic CRC tables |
|
- Don't bother computing check value after successful inflateSync() |
|
- Correct comment in crc32.c |
|
- Add use of the ARMv8 crc32 instructions when requested |
|
- Use ARM crc32 instructions if the ARM architecture has them |
|
- Explicitly note that the 32-bit check values are 32 bits |
|
- Avoid adding empty gzip member after gzflush with Z_FINISH |
|
- Fix memory leak on error in gzlog.c |
|
- Fix error in comment on the polynomial representation of a byte |
|
- Clarify gz* function interfaces, referring to parameter names |
|
- Change macro name in inflate.c to avoid collision in VxWorks |
|
- Correct typo in blast.c |
|
- Improve portability of contrib/minizip |
|
- Fix indentation in minizip's zip.c |
|
- Replace black/white with allow/block. (theresa-m) |
|
- minizip warning fix if MAXU32 already defined. (gvollant) |
|
- Fix unztell64() in minizip to work past 4GB. (Daniël Hörchner) |
|
- Clean up minizip to reduce warnings for testing |
|
- Add fallthrough comments for gcc |
|
- Eliminate use of ULL constants |
|
- Separate out address sanitizing from warnings in configure |
|
- Remove destructive aspects of make distclean |
|
- Check for cc masquerading as gcc or clang in configure |
|
- Fix crc32.c to compile local functions only if used |
|
|
|
Changes in 1.2.11 (15 Jan 2017) |
|
- Fix deflate stored bug when pulling last block from window |
|
- Permit immediate deflateParams changes before any deflate input |
|
|
|
Changes in 1.2.10 (2 Jan 2017) |
|
- Avoid warnings on snprintf() return value |
|
- Fix bug in deflate_stored() for zero-length input |
|
- Fix bug in gzwrite.c that produced corrupt gzip files |
|
- Remove files to be installed before copying them in Makefile.in |
|
- Add warnings when compiling with assembler code |
|
|
|
Changes in 1.2.9 (31 Dec 2016) |
|
- Fix contrib/minizip to permit unzipping with desktop API [Zouzou] |
|
- Improve contrib/blast to return unused bytes |
|
- Assure that gzoffset() is correct when appending |
|
- Improve compress() and uncompress() to support large lengths |
|
- Fix bug in test/example.c where error code not saved |
|
- Remedy Coverity warning [Randers-Pehrson] |
|
- Improve speed of gzprintf() in transparent mode |
|
- Fix inflateInit2() bug when windowBits is 16 or 32 |
|
- Change DEBUG macro to ZLIB_DEBUG |
|
- Avoid uninitialized access by gzclose_w() |
|
- Allow building zlib outside of the source directory |
|
- Fix bug that accepted invalid zlib header when windowBits is zero |
|
- Fix gzseek() problem on MinGW due to buggy _lseeki64 there |
|
- Loop on write() calls in gzwrite.c in case of non-blocking I/O |
|
- Add --warn (-w) option to ./configure for more compiler warnings |
|
- Reject a window size of 256 bytes if not using the zlib wrapper |
|
- Fix bug when level 0 used with Z_HUFFMAN or Z_RLE |
|
- Add --debug (-d) option to ./configure to define ZLIB_DEBUG |
|
- Fix bugs in creating a very large gzip header |
|
- Add uncompress2() function, which returns the input size used |
|
- Assure that deflateParams() will not switch functions mid-block |
|
- Dramatically speed up deflation for level 0 (storing) |
|
- Add gzfread(), duplicating the interface of fread() |
|
- Add gzfwrite(), duplicating the interface of fwrite() |
|
- Add deflateGetDictionary() function |
|
- Use snprintf() for later versions of Microsoft C |
|
- Fix *Init macros to use z_ prefix when requested |
|
- Replace as400 with os400 for OS/400 support [Monnerat] |
|
- Add crc32_z() and adler32_z() functions with size_t lengths |
|
- Update Visual Studio project files [AraHaan] |
|
|
|
Changes in 1.2.8 (28 Apr 2013) |
|
- Update contrib/minizip/iowin32.c for Windows RT [Vollant] |
|
- Do not force Z_CONST for C++ |
|
- Clean up contrib/vstudio [Roß] |
|
- Correct spelling error in zlib.h |
|
- Fix mixed line endings in contrib/vstudio |
|
|
|
Changes in 1.2.7.3 (13 Apr 2013) |
|
- Fix version numbers and DLL names in contrib/vstudio/*/zlib.rc |
|
|
|
Changes in 1.2.7.2 (13 Apr 2013) |
|
- Change check for a four-byte type back to hexadecimal |
|
- Fix typo in win32/Makefile.msc |
|
- Add casts in gzwrite.c for pointer differences |
|
|
|
Changes in 1.2.7.1 (24 Mar 2013) |
|
- Replace use of unsafe string functions with snprintf if available |
|
- Avoid including stddef.h on Windows for Z_SOLO compile [Niessink] |
|
- Fix gzgetc undefine when Z_PREFIX set [Turk] |
|
- Eliminate use of mktemp in Makefile (not always available) |
|
- Fix bug in 'F' mode for gzopen() |
|
- Add inflateGetDictionary() function |
|
- Correct comment in deflate.h |
|
- Use _snprintf for snprintf in Microsoft C |
|
- On Darwin, only use /usr/bin/libtool if libtool is not Apple |
|
- Delete "--version" file if created by "ar --version" [Richard G.] |
|
- Fix configure check for veracity of compiler error return codes |
|
- Fix CMake compilation of static lib for MSVC2010 x64 |
|
- Remove unused variable in infback9.c |
|
- Fix argument checks in gzlog_compress() and gzlog_write() |
|
- Clean up the usage of z_const and respect const usage within zlib |
|
- Clean up examples/gzlog.[ch] comparisons of different types |
|
- Avoid shift equal to bits in type (caused endless loop) |
|
- Fix uninitialized value bug in gzputc() introduced by const patches |
|
- Fix memory allocation error in examples/zran.c [Nor] |
|
- Fix bug where gzopen(), gzclose() would write an empty file |
|
- Fix bug in gzclose() when gzwrite() runs out of memory |
|
- Check for input buffer malloc failure in examples/gzappend.c |
|
- Add note to contrib/blast to use binary mode in stdio |
|
- Fix comparisons of differently signed integers in contrib/blast |
|
- Check for invalid code length codes in contrib/puff |
|
- Fix serious but very rare decompression bug in inftrees.c |
|
- Update inflateBack() comments, since inflate() can be faster |
|
- Use underscored I/O function names for WINAPI_FAMILY |
|
- Add _tr_flush_bits to the external symbols prefixed by --zprefix |
|
- Add contrib/vstudio/vc10 pre-build step for static only |
|
- Quote --version-script argument in CMakeLists.txt |
|
- Don't specify --version-script on Apple platforms in CMakeLists.txt |
|
- Fix casting error in contrib/testzlib/testzlib.c |
|
- Fix types in contrib/minizip to match result of get_crc_table() |
|
- Simplify contrib/vstudio/vc10 with 'd' suffix |
|
- Add TOP support to win32/Makefile.msc |
|
- Support i686 and amd64 assembler builds in CMakeLists.txt |
|
- Fix typos in the use of _LARGEFILE64_SOURCE in zconf.h |
|
- Add vc11 and vc12 build files to contrib/vstudio |
|
- Add gzvprintf() as an undocumented function in zlib |
|
- Fix configure for Sun shell |
|
- Remove runtime check in configure for four-byte integer type |
|
- Add casts and consts to ease user conversion to C++ |
|
- Add man pages for minizip and miniunzip |
|
- In Makefile uninstall, don't rm if preceding cd fails |
|
- Do not return Z_BUF_ERROR if deflateParam() has nothing to write |
|
|
|
Changes in 1.2.7 (2 May 2012) |
|
- Replace use of memmove() with a simple copy for portability |
|
- Test for existence of strerror |
|
- Restore gzgetc_ for backward compatibility with 1.2.6 |
|
- Fix build with non-GNU make on Solaris |
|
- Require gcc 4.0 or later on Mac OS X to use the hidden attribute |
|
- Include unistd.h for Watcom C |
|
- Use __WATCOMC__ instead of __WATCOM__ |
|
- Do not use the visibility attribute if NO_VIZ defined |
|
- Improve the detection of no hidden visibility attribute |
|
- Avoid using __int64 for gcc or solo compilation |
|
- Cast to char * in gzprintf to avoid warnings [Zinser] |
|
- Fix make_vms.com for VAX [Zinser] |
|
- Don't use library or built-in byte swaps |
|
- Simplify test and use of gcc hidden attribute |
|
- Fix bug in gzclose_w() when gzwrite() fails to allocate memory |
|
- Add "x" (O_EXCL) and "e" (O_CLOEXEC) modes support to gzopen() |
|
- Fix bug in test/minigzip.c for configure --solo |
|
- Fix contrib/vstudio project link errors [Mohanathas] |
|
- Add ability to choose the builder in make_vms.com [Schweda] |
|
- Add DESTDIR support to mingw32 win32/Makefile.gcc |
|
- Fix comments in win32/Makefile.gcc for proper usage |
|
- Allow overriding the default install locations for cmake |
|
- Generate and install the pkg-config file with cmake |
|
- Build both a static and a shared version of zlib with cmake |
|
- Include version symbols for cmake builds |
|
- If using cmake with MSVC, add the source directory to the includes |
|
- Remove unneeded EXTRA_CFLAGS from win32/Makefile.gcc [Truta] |
|
- Move obsolete emx makefile to old [Truta] |
|
- Allow the use of -Wundef when compiling or using zlib |
|
- Avoid the use of the -u option with mktemp |
|
- Improve inflate() documentation on the use of Z_FINISH |
|
- Recognize clang as gcc |
|
- Add gzopen_w() in Windows for wide character path names |
|
- Rename zconf.h in CMakeLists.txt to move it out of the way |
|
- Add source directory in CMakeLists.txt for building examples |
|
- Look in build directory for zlib.pc in CMakeLists.txt |
|
- Remove gzflags from zlibvc.def in vc9 and vc10 |
|
- Fix contrib/minizip compilation in the MinGW environment |
|
- Update ./configure for Solaris, support --64 [Mooney] |
|
- Remove -R. from Solaris shared build (possible security issue) |
|
- Avoid race condition for parallel make (-j) running example |
|
- Fix type mismatch between get_crc_table() and crc_table |
|
- Fix parsing of version with "-" in CMakeLists.txt [Snider, Ziegler] |
|
- Fix the path to zlib.map in CMakeLists.txt |
|
- Force the native libtool in Mac OS X to avoid GNU libtool [Beebe] |
|
- Add instructions to win32/Makefile.gcc for shared install [Torri] |
|
|
|
Changes in 1.2.6.1 (12 Feb 2012) |
|
- Avoid the use of the Objective-C reserved name "id" |
|
- Include io.h in gzguts.h for Microsoft compilers |
|
- Fix problem with ./configure --prefix and gzgetc macro |
|
- Include gz_header definition when compiling zlib solo |
|
- Put gzflags() functionality back in zutil.c |
|
- Avoid library header include in crc32.c for Z_SOLO |
|
- Use name in GCC_CLASSIC as C compiler for coverage testing, if set |
|
- Minor cleanup in contrib/minizip/zip.c [Vollant] |
|
- Update make_vms.com [Zinser] |
|
- Remove unnecessary gzgetc_ function |
|
- Use optimized byte swap operations for Microsoft and GNU [Snyder] |
|
- Fix minor typo in zlib.h comments [Rzesniowiecki] |
|
|
|
Changes in 1.2.6 (29 Jan 2012) |
|
- Update the Pascal interface in contrib/pascal |
|
- Fix function numbers for gzgetc_ in zlibvc.def files |
|
- Fix configure.ac for contrib/minizip [Schiffer] |
|
- Fix large-entry detection in minizip on 64-bit systems [Schiffer] |
|
- Have ./configure use the compiler return code for error indication |
|
- Fix CMakeLists.txt for cross compilation [McClure] |
|
- Fix contrib/minizip/zip.c for 64-bit architectures [Dalsnes] |
|
- Fix compilation of contrib/minizip on FreeBSD [Marquez] |
|
- Correct suggested usages in win32/Makefile.msc [Shachar, Horvath] |
|
- Include io.h for Turbo C / Borland C on all platforms [Truta] |
|
- Make version explicit in contrib/minizip/configure.ac [Bosmans] |
|
- Avoid warning for no encryption in contrib/minizip/zip.c [Vollant] |
|
- Minor cleanup up contrib/minizip/unzip.c [Vollant] |
|
- Fix bug when compiling minizip with C++ [Vollant] |
|
- Protect for long name and extra fields in contrib/minizip [Vollant] |
|
- Avoid some warnings in contrib/minizip [Vollant] |
|
- Add -I../.. -L../.. to CFLAGS for minizip and miniunzip |
|
- Add missing libs to minizip linker command |
|
- Add support for VPATH builds in contrib/minizip |
|
- Add an --enable-demos option to contrib/minizip/configure |
|
- Add the generation of configure.log by ./configure |
|
- Exit when required parameters not provided to win32/Makefile.gcc |
|
- Have gzputc return the character written instead of the argument |
|
- Use the -m option on ldconfig for BSD systems [Tobias] |
|
- Correct in zlib.map when deflateResetKeep was added |
|
|
|
Changes in 1.2.5.3 (15 Jan 2012) |
|
- Restore gzgetc function for binary compatibility |
|
- Do not use _lseeki64 under Borland C++ [Truta] |
|
- Update win32/Makefile.msc to build test/*.c [Truta] |
|
- Remove old/visualc6 given CMakefile and other alternatives |
|
- Update AS400 build files and documentation [Monnerat] |
|
- Update win32/Makefile.gcc to build test/*.c [Truta] |
|
- Permit stronger flushes after Z_BLOCK flushes |
|
- Avoid extraneous empty blocks when doing empty flushes |
|
- Permit Z_NULL arguments to deflatePending |
|
- Allow deflatePrime() to insert bits in the middle of a stream |
|
- Remove second empty static block for Z_PARTIAL_FLUSH |
|
- Write out all of the available bits when using Z_BLOCK |
|
- Insert the first two strings in the hash table after a flush |
|
|
|
Changes in 1.2.5.2 (17 Dec 2011) |
|
- fix ld error: unable to find version dependency 'ZLIB_1.2.5' |
|
- use relative symlinks for shared libs |
|
- Avoid searching past window for Z_RLE strategy |
|
- Assure that high-water mark initialization is always applied in deflate |
|
- Add assertions to fill_window() in deflate.c to match comments |
|
- Update python link in README |
|
- Correct spelling error in gzread.c |
|
- Fix bug in gzgets() for a concatenated empty gzip stream |
|
- Correct error in comment for gz_make() |
|
- Change gzread() and related to ignore junk after gzip streams |
|
- Allow gzread() and related to continue after gzclearerr() |
|
- Allow gzrewind() and gzseek() after a premature end-of-file |
|
- Simplify gzseek() now that raw after gzip is ignored |
|
- Change gzgetc() to a macro for speed (~40% speedup in testing) |
|
- Fix gzclose() to return the actual error last encountered |
|
- Always add large file support for windows |
|
- Include zconf.h for windows large file support |
|
- Include zconf.h.cmakein for windows large file support |
|
- Update zconf.h.cmakein on make distclean |
|
- Merge vestigial vsnprintf determination from zutil.h to gzguts.h |
|
- Clarify how gzopen() appends in zlib.h comments |
|
- Correct documentation of gzdirect() since junk at end now ignored |
|
- Add a transparent write mode to gzopen() when 'T' is in the mode |
|
- Update python link in zlib man page |
|
- Get inffixed.h and MAKEFIXED result to match |
|
- Add a ./config --solo option to make zlib subset with no library use |
|
- Add undocumented inflateResetKeep() function for CAB file decoding |
|
- Add --cover option to ./configure for gcc coverage testing |
|
- Add #define ZLIB_CONST option to use const in the z_stream interface |
|
- Add comment to gzdopen() in zlib.h to use dup() when using fileno() |
|
- Note behavior of uncompress() to provide as much data as it can |
|
- Add files in contrib/minizip to aid in building libminizip |
|
- Split off AR options in Makefile.in and configure |
|
- Change ON macro to Z_ARG to avoid application conflicts |
|
- Facilitate compilation with Borland C++ for pragmas and vsnprintf |
|
- Include io.h for Turbo C / Borland C++ |
|
- Move example.c and minigzip.c to test/ |
|
- Simplify incomplete code table filling in inflate_table() |
|
- Remove code from inflate.c and infback.c that is impossible to execute |
|
- Test the inflate code with full coverage |
|
- Allow deflateSetDictionary, inflateSetDictionary at any time (in raw) |
|
- Add deflateResetKeep and fix inflateResetKeep to retain dictionary |
|
- Fix gzwrite.c to accommodate reduced memory zlib compilation |
|
- Have inflate() with Z_FINISH avoid the allocation of a window |
|
- Do not set strm->adler when doing raw inflate |
|
- Fix gzeof() to behave just like feof() when read is not past end of file |
|
- Fix bug in gzread.c when end-of-file is reached |
|
- Avoid use of Z_BUF_ERROR in gz* functions except for premature EOF |
|
- Document gzread() capability to read concurrently written files |
|
- Remove hard-coding of resource compiler in CMakeLists.txt [Blammo] |
|
|
|
Changes in 1.2.5.1 (10 Sep 2011) |
|
- Update FAQ entry on shared builds (#13) |
|
- Avoid symbolic argument to chmod in Makefile.in |
|
- Fix bug and add consts in contrib/puff [Oberhumer] |
|
- Update contrib/puff/zeros.raw test file to have all block types |
|
- Add full coverage test for puff in contrib/puff/Makefile |
|
- Fix static-only-build install in Makefile.in |
|
- Fix bug in unzGetCurrentFileInfo() in contrib/minizip [Kuno] |
|
- Add libz.a dependency to shared in Makefile.in for parallel builds |
|
- Spell out "number" (instead of "nb") in zlib.h for total_in, total_out |
|
- Replace $(...) with `...` in configure for non-bash sh [Bowler] |
|
- Add darwin* to Darwin* and solaris* to SunOS\ 5* in configure [Groffen] |
|
- Add solaris* to Linux* in configure to allow gcc use [Groffen] |
|
- Add *bsd* to Linux* case in configure [Bar-Lev] |
|
- Add inffast.obj to dependencies in win32/Makefile.msc |
|
- Correct spelling error in deflate.h [Kohler] |
|
- Change libzdll.a again to libz.dll.a (!) in win32/Makefile.gcc |
|
- Add test to configure for GNU C looking for gcc in output of $cc -v |
|
- Add zlib.pc generation to win32/Makefile.gcc [Weigelt] |
|
- Fix bug in zlib.h for _FILE_OFFSET_BITS set and _LARGEFILE64_SOURCE not |
|
- Add comment in zlib.h that adler32_combine with len2 < 0 makes no sense |
|
- Make NO_DIVIDE option in adler32.c much faster (thanks to John Reiser) |
|
- Make stronger test in zconf.h to include unistd.h for LFS |
|
- Apply Darwin patches for 64-bit file offsets to contrib/minizip [Slack] |
|
- Fix zlib.h LFS support when Z_PREFIX used |
|
- Add updated as400 support (removed from old) [Monnerat] |
|
- Avoid deflate sensitivity to volatile input data |
|
- Avoid division in adler32_combine for NO_DIVIDE |
|
- Clarify the use of Z_FINISH with deflateBound() amount of space |
|
- Set binary for output file in puff.c |
|
- Use u4 type for crc_table to avoid conversion warnings |
|
- Apply casts in zlib.h to avoid conversion warnings |
|
- Add OF to prototypes for adler32_combine_ and crc32_combine_ [Miller] |
|
- Improve inflateSync() documentation to note indeterminacy |
|
- Add deflatePending() function to return the amount of pending output |
|
- Correct the spelling of "specification" in FAQ [Randers-Pehrson] |
|
- Add a check in configure for stdarg.h, use for gzprintf() |
|
- Check that pointers fit in ints when gzprint() compiled old style |
|
- Add dummy name before $(SHAREDLIBV) in Makefile [Bar-Lev, Bowler] |
|
- Delete line in configure that adds -L. libz.a to LDFLAGS [Weigelt] |
|
- Add debug records in assembler code [Londer] |
|
- Update RFC references to use http://tools.ietf.org/html/... [Li] |
|
- Add --archs option, use of libtool to configure for Mac OS X [Borstel] |
|
|
|
Changes in 1.2.5 (19 Apr 2010) |
|
- Disable visibility attribute in win32/Makefile.gcc [Bar-Lev] |
|
- Default to libdir as sharedlibdir in configure [Nieder] |
|
- Update copyright dates on modified source files |
|
- Update trees.c to be able to generate modified trees.h |
|
- Exit configure for MinGW, suggesting win32/Makefile.gcc |
|
- Check for NULL path in gz_open [Homurlu] |
|
|
|
Changes in 1.2.4.5 (18 Apr 2010) |
|
- Set sharedlibdir in configure [Torok] |
|
- Set LDFLAGS in Makefile.in [Bar-Lev] |
|
- Avoid mkdir objs race condition in Makefile.in [Bowler] |
|
- Add ZLIB_INTERNAL in front of internal inter-module functions and arrays |
|
- Define ZLIB_INTERNAL to hide internal functions and arrays for GNU C |
|
- Don't use hidden attribute when it is a warning generator (e.g. Solaris) |
|
|
|
Changes in 1.2.4.4 (18 Apr 2010) |
|
- Fix CROSS_PREFIX executable testing, CHOST extract, mingw* [Torok] |
|
- Undefine _LARGEFILE64_SOURCE in zconf.h if it is zero, but not if empty |
|
- Try to use bash or ksh regardless of functionality of /bin/sh |
|
- Fix configure incompatibility with NetBSD sh |
|
- Remove attempt to run under bash or ksh since have better NetBSD fix |
|
- Fix win32/Makefile.gcc for MinGW [Bar-Lev] |
|
- Add diagnostic messages when using CROSS_PREFIX in configure |
|
- Added --sharedlibdir option to configure [Weigelt] |
|
- Use hidden visibility attribute when available [Frysinger] |
|
|
|
Changes in 1.2.4.3 (10 Apr 2010) |
|
- Only use CROSS_PREFIX in configure for ar and ranlib if they exist |
|
- Use CROSS_PREFIX for nm [Bar-Lev] |
|
- Assume _LARGEFILE64_SOURCE defined is equivalent to true |
|
- Avoid use of undefined symbols in #if with && and || |
|
- Make *64 prototypes in gzguts.h consistent with functions |
|
- Add -shared load option for MinGW in configure [Bowler] |
|
- Move z_off64_t to public interface, use instead of off64_t |
|
- Remove ! from shell test in configure (not portable to Solaris) |
|
- Change +0 macro tests to -0 for possibly increased portability |
|
|
|
Changes in 1.2.4.2 (9 Apr 2010) |
|
- Add consistent carriage returns to readme.txt's in masmx86 and masmx64 |
|
- Really provide prototypes for *64 functions when building without LFS |
|
- Only define unlink() in minigzip.c if unistd.h not included |
|
- Update README to point to contrib/vstudio project files |
|
- Move projects/vc6 to old/ and remove projects/ |
|
- Include stdlib.h in minigzip.c for setmode() definition under WinCE |
|
- Clean up assembler builds in win32/Makefile.msc [Rowe] |
|
- Include sys/types.h for Microsoft for off_t definition |
|
- Fix memory leak on error in gz_open() |
|
- Symbolize nm as $NM in configure [Weigelt] |
|
- Use TEST_LDSHARED instead of LDSHARED to link test programs [Weigelt] |
|
- Add +0 to _FILE_OFFSET_BITS and _LFS64_LARGEFILE in case not defined |
|
- Fix bug in gzeof() to take into account unused input data |
|
- Avoid initialization of structures with variables in puff.c |
|
- Updated win32/README-WIN32.txt [Rowe] |
|
|
|
Changes in 1.2.4.1 (28 Mar 2010) |
|
- Remove the use of [a-z] constructs for sed in configure [gentoo 310225] |
|
- Remove $(SHAREDLIB) from LIBS in Makefile.in [Creech] |
|
- Restore "for debugging" comment on sprintf() in gzlib.c |
|
- Remove fdopen for MVS from gzguts.h |
|
- Put new README-WIN32.txt in win32 [Rowe] |
|
- Add check for shell to configure and invoke another shell if needed |
|
- Fix big fat stinking bug in gzseek() on uncompressed files |
|
- Remove vestigial F_OPEN64 define in zutil.h |
|
- Set and check the value of _LARGEFILE_SOURCE and _LARGEFILE64_SOURCE |
|
- Avoid errors on non-LFS systems when applications define LFS macros |
|
- Set EXE to ".exe" in configure for MINGW [Kahle] |
|
- Match crc32() in crc32.c exactly to the prototype in zlib.h [Sherrill] |
|
- Add prefix for cross-compilation in win32/makefile.gcc [Bar-Lev] |
|
- Add DLL install in win32/makefile.gcc [Bar-Lev] |
|
- Allow Linux* or linux* from uname in configure [Bar-Lev] |
|
- Allow ldconfig to be redefined in configure and Makefile.in [Bar-Lev] |
|
- Add cross-compilation prefixes to configure [Bar-Lev] |
|
- Match type exactly in gz_load() invocation in gzread.c |
|
- Match type exactly of zcalloc() in zutil.c to zlib.h alloc_func |
|
- Provide prototypes for *64 functions when building zlib without LFS |
|
- Don't use -lc when linking shared library on MinGW |
|
- Remove errno.h check in configure and vestigial errno code in zutil.h |
|
|
|
Changes in 1.2.4 (14 Mar 2010) |
|
- Fix VER3 extraction in configure for no fourth subversion |
|
- Update zlib.3, add docs to Makefile.in to make .pdf out of it |
|
- Add zlib.3.pdf to distribution |
|
- Don't set error code in gzerror() if passed pointer is NULL |
|
- Apply destination directory fixes to CMakeLists.txt [Lowman] |
|
- Move #cmakedefine's to a new zconf.in.cmakein |
|
- Restore zconf.h for builds that don't use configure or cmake |
|
- Add distclean to dummy Makefile for convenience |
|
- Update and improve INDEX, README, and FAQ |
|
- Update CMakeLists.txt for the return of zconf.h [Lowman] |
|
- Update contrib/vstudio/vc9 and vc10 [Vollant] |
|
- Change libz.dll.a back to libzdll.a in win32/Makefile.gcc |
|
- Apply license and readme changes to contrib/asm686 [Raiter] |
|
- Check file name lengths and add -c option in minigzip.c [Li] |
|
- Update contrib/amd64 and contrib/masmx86/ [Vollant] |
|
- Avoid use of "eof" parameter in trees.c to not shadow library variable |
|
- Update make_vms.com for removal of zlibdefs.h [Zinser] |
|
- Update assembler code and vstudio projects in contrib [Vollant] |
|
- Remove outdated assembler code contrib/masm686 and contrib/asm586 |
|
- Remove old vc7 and vc8 from contrib/vstudio |
|
- Update win32/Makefile.msc, add ZLIB_VER_SUBREVISION [Rowe] |
|
- Fix memory leaks in gzclose_r() and gzclose_w(), file leak in gz_open() |
|
- Add contrib/gcc_gvmat64 for longest_match and inflate_fast [Vollant] |
|
- Remove *64 functions from win32/zlib.def (they're not 64-bit yet) |
|
- Fix bug in void-returning vsprintf() case in gzwrite.c |
|
- Fix name change from inflate.h in contrib/inflate86/inffas86.c |
|
- Check if temporary file exists before removing in make_vms.com [Zinser] |
|
- Fix make install and uninstall for --static option |
|
- Fix usage of _MSC_VER in gzguts.h and zutil.h [Truta] |
|
- Update readme.txt in contrib/masmx64 and masmx86 to assemble |
|
|
|
Changes in 1.2.3.9 (21 Feb 2010) |
|
- Expunge gzio.c |
|
- Move as400 build information to old |
|
- Fix updates in contrib/minizip and contrib/vstudio |
|
- Add const to vsnprintf test in configure to avoid warnings [Weigelt] |
|
- Delete zconf.h (made by configure) [Weigelt] |
|
- Change zconf.in.h to zconf.h.in per convention [Weigelt] |
|
- Check for NULL buf in gzgets() |
|
- Return empty string for gzgets() with len == 1 (like fgets()) |
|
- Fix description of gzgets() in zlib.h for end-of-file, NULL return |
|
- Update minizip to 1.1 [Vollant] |
|
- Avoid MSVC loss of data warnings in gzread.c, gzwrite.c |
|
- Note in zlib.h that gzerror() should be used to distinguish from EOF |
|
- Remove use of snprintf() from gzlib.c |
|
- Fix bug in gzseek() |
|
- Update contrib/vstudio, adding vc9 and vc10 [Kuno, Vollant] |
|
- Fix zconf.h generation in CMakeLists.txt [Lowman] |
|
- Improve comments in zconf.h where modified by configure |
|
|
|
Changes in 1.2.3.8 (13 Feb 2010) |
|
- Clean up text files (tabs, trailing whitespace, etc.) [Oberhumer] |
|
- Use z_off64_t in gz_zero() and gz_skip() to match state->skip |
|
- Avoid comparison problem when sizeof(int) == sizeof(z_off64_t) |
|
- Revert to Makefile.in from 1.2.3.6 (live with the clutter) |
|
- Fix missing error return in gzflush(), add zlib.h note |
|
- Add *64 functions to zlib.map [Levin] |
|
- Fix signed/unsigned comparison in gz_comp() |
|
- Use SFLAGS when testing shared linking in configure |
|
- Add --64 option to ./configure to use -m64 with gcc |
|
- Fix ./configure --help to correctly name options |
|
- Have make fail if a test fails [Levin] |
|
- Avoid buffer overrun in contrib/masmx64/gvmat64.asm [Simpson] |
|
- Remove assembler object files from contrib |
|
|
|
Changes in 1.2.3.7 (24 Jan 2010) |
|
- Always gzopen() with O_LARGEFILE if available |
|
- Fix gzdirect() to work immediately after gzopen() or gzdopen() |
|
- Make gzdirect() more precise when the state changes while reading |
|
- Improve zlib.h documentation in many places |
|
- Catch memory allocation failure in gz_open() |
|
- Complete close operation if seek forward in gzclose_w() fails |
|
- Return Z_ERRNO from gzclose_r() if close() fails |
|
- Return Z_STREAM_ERROR instead of EOF for gzclose() being passed NULL |
|
- Return zero for gzwrite() errors to match zlib.h description |
|
- Return -1 on gzputs() error to match zlib.h description |
|
- Add zconf.in.h to allow recovery from configure modification [Weigelt] |
|
- Fix static library permissions in Makefile.in [Weigelt] |
|
- Avoid warnings in configure tests that hide functionality [Weigelt] |
|
- Add *BSD and DragonFly to Linux case in configure [gentoo 123571] |
|
- Change libzdll.a to libz.dll.a in win32/Makefile.gcc [gentoo 288212] |
|
- Avoid access of uninitialized data for first inflateReset2 call [Gomes] |
|
- Keep object files in subdirectories to reduce the clutter somewhat |
|
- Remove default Makefile and zlibdefs.h, add dummy Makefile |
|
- Add new external functions to Z_PREFIX, remove duplicates, z_z_ -> z_ |
|
- Remove zlibdefs.h completely -- modify zconf.h instead |
|
|
|
Changes in 1.2.3.6 (17 Jan 2010) |
|
- Avoid void * arithmetic in gzread.c and gzwrite.c |
|
- Make compilers happier with const char * for gz_error message |
|
- Avoid unused parameter warning in inflate.c |
|
- Avoid signed-unsigned comparison warning in inflate.c |
|
- Indent #pragma's for traditional C |
|
- Fix usage of strwinerror() in glib.c, change to gz_strwinerror() |
|
- Correct email address in configure for system options |
|
- Update make_vms.com and add make_vms.com to contrib/minizip [Zinser] |
|
- Update zlib.map [Brown] |
|
- Fix Makefile.in for Solaris 10 make of example64 and minizip64 [Torok] |
|
- Apply various fixes to CMakeLists.txt [Lowman] |
|
- Add checks on len in gzread() and gzwrite() |
|
- Add error message for no more room for gzungetc() |
|
- Remove zlib version check in gzwrite() |
|
- Defer compression of gzprintf() result until need to |
|
- Use snprintf() in gzdopen() if available |
|
- Remove USE_MMAP configuration determination (only used by minigzip) |
|
- Remove examples/pigz.c (available separately) |
|
- Update examples/gun.c to 1.6 |
|
|
|
Changes in 1.2.3.5 (8 Jan 2010) |
|
- Add space after #if in zutil.h for some compilers |
|
- Fix relatively harmless bug in deflate_fast() [Exarevsky] |
|
- Fix same problem in deflate_slow() |
|
- Add $(SHAREDLIBV) to LIBS in Makefile.in [Brown] |
|
- Add deflate_rle() for faster Z_RLE strategy run-length encoding |
|
- Add deflate_huff() for faster Z_HUFFMAN_ONLY encoding |
|
- Change name of "write" variable in inffast.c to avoid library collisions |
|
- Fix premature EOF from gzread() in gzio.c [Brown] |
|
- Use zlib header window size if windowBits is 0 in inflateInit2() |
|
- Remove compressBound() call in deflate.c to avoid linking compress.o |
|
- Replace use of errno in gz* with functions, support WinCE [Alves] |
|
- Provide alternative to perror() in minigzip.c for WinCE [Alves] |
|
- Don't use _vsnprintf on later versions of MSVC [Lowman] |
|
- Add CMake build script and input file [Lowman] |
|
- Update contrib/minizip to 1.1 [Svensson, Vollant] |
|
- Moved nintendods directory from contrib to root |
|
- Replace gzio.c with a new set of routines with the same functionality |
|
- Add gzbuffer(), gzoffset(), gzclose_r(), gzclose_w() as part of above |
|
- Update contrib/minizip to 1.1b |
|
- Change gzeof() to return 0 on error instead of -1 to agree with zlib.h |
|
|
|
Changes in 1.2.3.4 (21 Dec 2009) |
|
- Use old school .SUFFIXES in Makefile.in for FreeBSD compatibility |
|
- Update comments in configure and Makefile.in for default --shared |
|
- Fix test -z's in configure [Marquess] |
|
- Build examplesh and minigzipsh when not testing |
|
- Change NULL's to Z_NULL's in deflate.c and in comments in zlib.h |
|
- Import LDFLAGS from the environment in configure |
|
- Fix configure to populate SFLAGS with discovered CFLAGS options |
|
- Adapt make_vms.com to the new Makefile.in [Zinser] |
|
- Add zlib2ansi script for C++ compilation [Marquess] |
|
- Add _FILE_OFFSET_BITS=64 test to make test (when applicable) |
|
- Add AMD64 assembler code for longest match to contrib [Teterin] |
|
- Include options from $SFLAGS when doing $LDSHARED |
|
- Simplify 64-bit file support by introducing z_off64_t type |
|
- Make shared object files in objs directory to work around old Sun cc |
|
- Use only three-part version number for Darwin shared compiles |
|
- Add rc option to ar in Makefile.in for when ./configure not run |
|
- Add -WI,-rpath,. to LDFLAGS for OSF 1 V4* |
|
- Set LD_LIBRARYN32_PATH for SGI IRIX shared compile |
|
- Protect against _FILE_OFFSET_BITS being defined when compiling zlib |
|
- Rename Makefile.in targets allstatic to static and allshared to shared |
|
- Fix static and shared Makefile.in targets to be independent |
|
- Correct error return bug in gz_open() by setting state [Brown] |
|
- Put spaces before ;;'s in configure for better sh compatibility |
|
- Add pigz.c (parallel implementation of gzip) to examples/ |
|
- Correct constant in crc32.c to UL [Leventhal] |
|
- Reject negative lengths in crc32_combine() |
|
- Add inflateReset2() function to work like inflateEnd()/inflateInit2() |
|
- Include sys/types.h for _LARGEFILE64_SOURCE [Brown] |
|
- Correct typo in doc/algorithm.txt [Janik] |
|
- Fix bug in adler32_combine() [Zhu] |
|
- Catch missing-end-of-block-code error in all inflates and in puff |
|
Assures that random input to inflate eventually results in an error |
|
- Added enough.c (calculation of ENOUGH for inftrees.h) to examples/ |
|
- Update ENOUGH and its usage to reflect discovered bounds |
|
- Fix gzerror() error report on empty input file [Brown] |
|
- Add ush casts in trees.c to avoid pedantic runtime errors |
|
- Fix typo in zlib.h uncompress() description [Reiss] |
|
- Correct inflate() comments with regard to automatic header detection |
|
- Remove deprecation comment on Z_PARTIAL_FLUSH (it stays) |
|
- Put new version of gzlog (2.0) in examples with interruption recovery |
|
- Add puff compile option to permit invalid distance-too-far streams |
|
- Add puff TEST command options, ability to read piped input |
|
- Prototype the *64 functions in zlib.h when _FILE_OFFSET_BITS == 64, but |
|
_LARGEFILE64_SOURCE not defined |
|
- Fix Z_FULL_FLUSH to truly erase the past by resetting s->strstart |
|
- Fix deflateSetDictionary() to use all 32K for output consistency |
|
- Remove extraneous #define MIN_LOOKAHEAD in deflate.c (in deflate.h) |
|
- Clear bytes after deflate lookahead to avoid use of uninitialized data |
|
- Change a limit in inftrees.c to be more transparent to Coverity Prevent |
|
- Update win32/zlib.def with exported symbols from zlib.h |
|
- Correct spelling errors in zlib.h [Willem, Sobrado] |
|
- Allow Z_BLOCK for deflate() to force a new block |
|
- Allow negative bits in inflatePrime() to delete existing bit buffer |
|
- Add Z_TREES flush option to inflate() to return at end of trees |
|
- Add inflateMark() to return current state information for random access |
|
- Add Makefile for NintendoDS to contrib [Costa] |
|
- Add -w in configure compile tests to avoid spurious warnings [Beucler] |
|
- Fix typos in zlib.h comments for deflateSetDictionary() |
|
- Fix EOF detection in transparent gzread() [Maier] |
|
|
|
Changes in 1.2.3.3 (2 October 2006) |
|
- Make --shared the default for configure, add a --static option |
|
- Add compile option to permit invalid distance-too-far streams |
|
- Add inflateUndermine() function which is required to enable above |
|
- Remove use of "this" variable name for C++ compatibility [Marquess] |
|
- Add testing of shared library in make test, if shared library built |
|
- Use ftello() and fseeko() if available instead of ftell() and fseek() |
|
- Provide two versions of all functions that use the z_off_t type for |
|
binary compatibility -- a normal version and a 64-bit offset version, |
|
per the Large File Support Extension when _LARGEFILE64_SOURCE is |
|
defined; use the 64-bit versions by default when _FILE_OFFSET_BITS |
|
is defined to be 64 |
|
- Add a --uname= option to configure to perhaps help with cross-compiling |
|
|
|
Changes in 1.2.3.2 (3 September 2006) |
|
- Turn off silly Borland warnings [Hay] |
|
- Use off64_t and define _LARGEFILE64_SOURCE when present |
|
- Fix missing dependency on inffixed.h in Makefile.in |
|
- Rig configure --shared to build both shared and static [Teredesai, Truta] |
|
- Remove zconf.in.h and instead create a new zlibdefs.h file |
|
- Fix contrib/minizip/unzip.c non-encrypted after encrypted [Vollant] |
|
- Add treebuild.xml (see http://treebuild.metux.de/) [Weigelt] |
|
|
|
Changes in 1.2.3.1 (16 August 2006) |
|
- Add watcom directory with OpenWatcom make files [Daniel] |
|
- Remove #undef of FAR in zconf.in.h for MVS [Fedtke] |
|
- Update make_vms.com [Zinser] |
|
- Use -fPIC for shared build in configure [Teredesai, Nicholson] |
|
- Use only major version number for libz.so on IRIX and OSF1 [Reinholdtsen] |
|
- Use fdopen() (not _fdopen()) for Interix in zutil.h [Bäck] |
|
- Add some FAQ entries about the contrib directory |
|
- Update the MVS question in the FAQ |
|
- Avoid extraneous reads after EOF in gzio.c [Brown] |
|
- Correct spelling of "successfully" in gzio.c [Randers-Pehrson] |
|
- Add comments to zlib.h about gzerror() usage [Brown] |
|
- Set extra flags in gzip header in gzopen() like deflate() does |
|
- Make configure options more compatible with double-dash conventions |
|
[Weigelt] |
|
- Clean up compilation under Solaris SunStudio cc [Rowe, Reinholdtsen] |
|
- Fix uninstall target in Makefile.in [Truta] |
|
- Add pkgconfig support [Weigelt] |
|
- Use $(DESTDIR) macro in Makefile.in [Reinholdtsen, Weigelt] |
|
- Replace set_data_type() with a more accurate detect_data_type() in |
|
trees.c, according to the txtvsbin.txt document [Truta] |
|
- Swap the order of #include <stdio.h> and #include "zlib.h" in |
|
gzio.c, example.c and minigzip.c [Truta] |
|
- Shut up annoying VS2005 warnings about standard C deprecation [Rowe, |
|
Truta] (where?) |
|
- Fix target "clean" from win32/Makefile.bor [Truta] |
|
- Create .pdb and .manifest files in win32/makefile.msc [Ziegler, Rowe] |
|
- Update zlib www home address in win32/DLL_FAQ.txt [Truta] |
|
- Update contrib/masmx86/inffas32.asm for VS2005 [Vollant, Van Wassenhove] |
|
- Enable browse info in the "Debug" and "ASM Debug" configurations in |
|
the Visual C++ 6 project, and set (non-ASM) "Debug" as default [Truta] |
|
- Add pkgconfig support [Weigelt] |
|
- Add ZLIB_VER_MAJOR, ZLIB_VER_MINOR and ZLIB_VER_REVISION in zlib.h, |
|
for use in win32/zlib1.rc [Polushin, Rowe, Truta] |
|
- Add a document that explains the new text detection scheme to |
|
doc/txtvsbin.txt [Truta] |
|
- Add rfc1950.txt, rfc1951.txt and rfc1952.txt to doc/ [Truta] |
|
- Move algorithm.txt into doc/ [Truta] |
|
- Synchronize FAQ with website |
|
- Fix compressBound(), was low for some pathological cases [Fearnley] |
|
- Take into account wrapper variations in deflateBound() |
|
- Set examples/zpipe.c input and output to binary mode for Windows |
|
- Update examples/zlib_how.html with new zpipe.c (also web site) |
|
- Fix some warnings in examples/gzlog.c and examples/zran.c (it seems |
|
that gcc became pickier in 4.0) |
|
- Add zlib.map for Linux: "All symbols from zlib-1.1.4 remain |
|
un-versioned, the patch adds versioning only for symbols introduced in |
|
zlib-1.2.0 or later. It also declares as local those symbols which are |
|
not designed to be exported." [Levin] |
|
- Update Z_PREFIX list in zconf.in.h, add --zprefix option to configure |
|
- Do not initialize global static by default in trees.c, add a response |
|
NO_INIT_GLOBAL_POINTERS to initialize them if needed [Marquess] |
|
- Don't use strerror() in gzio.c under WinCE [Yakimov] |
|
- Don't use errno.h in zutil.h under WinCE [Yakimov] |
|
- Move arguments for AR to its usage to allow replacing ar [Marot] |
|
- Add HAVE_VISIBILITY_PRAGMA in zconf.in.h for Mozilla [Randers-Pehrson] |
|
- Improve inflateInit() and inflateInit2() documentation |
|
- Fix structure size comment in inflate.h |
|
- Change configure help option from --h* to --help [Santos] |
|
|
|
Changes in 1.2.3 (18 July 2005) |
|
- Apply security vulnerability fixes to contrib/infback9 as well |
|
- Clean up some text files (carriage returns, trailing space) |
|
- Update testzlib, vstudio, masmx64, and masmx86 in contrib [Vollant] |
|
|
|
Changes in 1.2.2.4 (11 July 2005) |
|
- Add inflatePrime() function for starting inflation at bit boundary |
|
- Avoid some Visual C warnings in deflate.c |
|
- Avoid more silly Visual C warnings in inflate.c and inftrees.c for 64-bit |
|
compile |
|
- Fix some spelling errors in comments [Betts] |
|
- Correct inflateInit2() error return documentation in zlib.h |
|
- Add zran.c example of compressed data random access to examples |
|
directory, shows use of inflatePrime() |
|
- Fix cast for assignments to strm->state in inflate.c and infback.c |
|
- Fix zlibCompileFlags() in zutil.c to use 1L for long shifts [Oberhumer] |
|
- Move declarations of gf2 functions to right place in crc32.c [Oberhumer] |
|
- Add cast in trees.c t avoid a warning [Oberhumer] |
|
- Avoid some warnings in fitblk.c, gun.c, gzjoin.c in examples [Oberhumer] |
|
- Update make_vms.com [Zinser] |
|
- Initialize state->write in inflateReset() since copied in inflate_fast() |
|
- Be more strict on incomplete code sets in inflate_table() and increase |
|
ENOUGH and MAXD -- this repairs a possible security vulnerability for |
|
invalid inflate input. Thanks to Tavis Ormandy and Markus Oberhumer for |
|
discovering the vulnerability and providing test cases |
|
- Add ia64 support to configure for HP-UX [Smith] |
|
- Add error return to gzread() for format or i/o error [Levin] |
|
- Use malloc.h for OS/2 [Necasek] |
|
|
|
Changes in 1.2.2.3 (27 May 2005) |
|
- Replace 1U constants in inflate.c and inftrees.c for 64-bit compile |
|
- Typecast fread() return values in gzio.c [Vollant] |
|
- Remove trailing space in minigzip.c outmode (VC++ can't deal with it) |
|
- Fix crc check bug in gzread() after gzungetc() [Heiner] |
|
- Add the deflateTune() function to adjust internal compression parameters |
|
- Add a fast gzip decompressor, gun.c, to examples (use of inflateBack) |
|
- Remove an incorrect assertion in examples/zpipe.c |
|
- Add C++ wrapper in infback9.h [Donais] |
|
- Fix bug in inflateCopy() when decoding fixed codes |
|
- Note in zlib.h how much deflateSetDictionary() actually uses |
|
- Remove USE_DICT_HEAD in deflate.c (would mess up inflate if used) |
|
- Add _WIN32_WCE to define WIN32 in zconf.in.h [Spencer] |
|
- Don't include stderr.h or errno.h for _WIN32_WCE in zutil.h [Spencer] |
|
- Add gzdirect() function to indicate transparent reads |
|
- Update contrib/minizip [Vollant] |
|
- Fix compilation of deflate.c when both ASMV and FASTEST [Oberhumer] |
|
- Add casts in crc32.c to avoid warnings [Oberhumer] |
|
- Add contrib/masmx64 [Vollant] |
|
- Update contrib/asm586, asm686, masmx86, testzlib, vstudio [Vollant] |
|
|
|
Changes in 1.2.2.2 (30 December 2004) |
|
- Replace structure assignments in deflate.c and inflate.c with zmemcpy to |
|
avoid implicit memcpy calls (portability for no-library compilation) |
|
- Increase sprintf() buffer size in gzdopen() to allow for large numbers |
|
- Add INFLATE_STRICT to check distances against zlib header |
|
- Improve WinCE errno handling and comments [Chang] |
|
- Remove comment about no gzip header processing in FAQ |
|
- Add Z_FIXED strategy option to deflateInit2() to force fixed trees |
|
- Add updated make_vms.com [Coghlan], update README |
|
- Create a new "examples" directory, move gzappend.c there, add zpipe.c, |
|
fitblk.c, gzlog.[ch], gzjoin.c, and zlib_how.html |
|
- Add FAQ entry and comments in deflate.c on uninitialized memory access |
|
- Add Solaris 9 make options in configure [Gilbert] |
|
- Allow strerror() usage in gzio.c for STDC |
|
- Fix DecompressBuf in contrib/delphi/ZLib.pas [ManChesTer] |
|
- Update contrib/masmx86/inffas32.asm and gvmat32.asm [Vollant] |
|
- Use z_off_t for adler32_combine() and crc32_combine() lengths |
|
- Make adler32() much faster for small len |
|
- Use OS_CODE in deflate() default gzip header |
|
|
|
Changes in 1.2.2.1 (31 October 2004) |
|
- Allow inflateSetDictionary() call for raw inflate |
|
- Fix inflate header crc check bug for file names and comments |
|
- Add deflateSetHeader() and gz_header structure for custom gzip headers |
|
- Add inflateGetheader() to retrieve gzip headers |
|
- Add crc32_combine() and adler32_combine() functions |
|
- Add alloc_func, free_func, in_func, out_func to Z_PREFIX list |
|
- Use zstreamp consistently in zlib.h (inflate_back functions) |
|
- Remove GUNZIP condition from definition of inflate_mode in inflate.h |
|
and in contrib/inflate86/inffast.S [Truta, Anderson] |
|
- Add support for AMD64 in contrib/inflate86/inffas86.c [Anderson] |
|
- Update projects/README.projects and projects/visualc6 [Truta] |
|
- Update win32/DLL_FAQ.txt [Truta] |
|
- Avoid warning under NO_GZCOMPRESS in gzio.c; fix typo [Truta] |
|
- Deprecate Z_ASCII; use Z_TEXT instead [Truta] |
|
- Use a new algorithm for setting strm->data_type in trees.c [Truta] |
|
- Do not define an exit() prototype in zutil.c unless DEBUG defined |
|
- Remove prototype of exit() from zutil.c, example.c, minigzip.c [Truta] |
|
- Add comment in zlib.h for Z_NO_FLUSH parameter to deflate() |
|
- Fix Darwin build version identification [Peterson] |
|
|
|
Changes in 1.2.2 (3 October 2004) |
|
- Update zlib.h comments on gzip in-memory processing |
|
- Set adler to 1 in inflateReset() to support Java test suite [Walles] |
|
- Add contrib/dotzlib [Ravn] |
|
- Update win32/DLL_FAQ.txt [Truta] |
|
- Update contrib/minizip [Vollant] |
|
- Move contrib/visual-basic.txt to old/ [Truta] |
|
- Fix assembler builds in projects/visualc6/ [Truta] |
|
|
|
Changes in 1.2.1.2 (9 September 2004) |
|
- Update INDEX file |
|
- Fix trees.c to update strm->data_type (no one ever noticed!) |
|
- Fix bug in error case in inflate.c, infback.c, and infback9.c [Brown] |
|
- Add "volatile" to crc table flag declaration (for DYNAMIC_CRC_TABLE) |
|
- Add limited multitasking protection to DYNAMIC_CRC_TABLE |
|
- Add NO_vsnprintf for VMS in zutil.h [Mozilla] |
|
- Don't declare strerror() under VMS [Mozilla] |
|
- Add comment to DYNAMIC_CRC_TABLE to use get_crc_table() to initialize |
|
- Update contrib/ada [Anisimkov] |
|
- Update contrib/minizip [Vollant] |
|
- Fix configure to not hardcode directories for Darwin [Peterson] |
|
- Fix gzio.c to not return error on empty files [Brown] |
|
- Fix indentation; update version in contrib/delphi/ZLib.pas and |
|
contrib/pascal/zlibpas.pas [Truta] |
|
- Update mkasm.bat in contrib/masmx86 [Truta] |
|
- Update contrib/untgz [Truta] |
|
- Add projects/README.projects [Truta] |
|
- Add project for MS Visual C++ 6.0 in projects/visualc6 [Cadieux, Truta] |
|
- Update win32/DLL_FAQ.txt [Truta] |
|
- Update list of Z_PREFIX symbols in zconf.h [Randers-Pehrson, Truta] |
|
- Remove an unnecessary assignment to curr in inftrees.c [Truta] |
|
- Add OS/2 to exe builds in configure [Poltorak] |
|
- Remove err dummy parameter in zlib.h [Kientzle] |
|
|
|
Changes in 1.2.1.1 (9 January 2004) |
|
- Update email address in README |
|
- Several FAQ updates |
|
- Fix a big fat bug in inftrees.c that prevented decoding valid |
|
dynamic blocks with only literals and no distance codes -- |
|
Thanks to "Hot Emu" for the bug report and sample file |
|
- Add a note to puff.c on no distance codes case |
|
|
|
Changes in 1.2.1 (17 November 2003) |
|
- Remove a tab in contrib/gzappend/gzappend.c |
|
- Update some interfaces in contrib for new zlib functions |
|
- Update zlib version number in some contrib entries |
|
- Add Windows CE definition for ptrdiff_t in zutil.h [Mai, Truta] |
|
- Support shared libraries on Hurd and KFreeBSD [Brown] |
|
- Fix error in NO_DIVIDE option of adler32.c |
|
|
|
Changes in 1.2.0.8 (4 November 2003) |
|
- Update version in contrib/delphi/ZLib.pas and contrib/pascal/zlibpas.pas |
|
- Add experimental NO_DIVIDE #define in adler32.c |
|
- Possibly faster on some processors (let me know if it is) |
|
- Correct Z_BLOCK to not return on first inflate call if no wrap |
|
- Fix strm->data_type on inflate() return to correctly indicate EOB |
|
- Add deflatePrime() function for appending in the middle of a byte |
|
- Add contrib/gzappend for an example of appending to a stream |
|
- Update win32/DLL_FAQ.txt [Truta] |
|
- Delete Turbo C comment in README [Truta] |
|
- Improve some indentation in zconf.h [Truta] |
|
- Fix infinite loop on bad input in configure script [Church] |
|
- Fix gzeof() for concatenated gzip files [Johnson] |
|
- Add example to contrib/visual-basic.txt [Michael B.] |
|
- Add -p to mkdir's in Makefile.in [vda] |
|
- Fix configure to properly detect presence or lack of printf functions |
|
- Add AS400 support [Monnerat] |
|
- Add a little Cygwin support [Wilson] |
|
|
|
Changes in 1.2.0.7 (21 September 2003) |
|
- Correct some debug formats in contrib/infback9 |
|
- Cast a type in a debug statement in trees.c |
|
- Change search and replace delimiter in configure from % to # [Beebe] |
|
- Update contrib/untgz to 0.2 with various fixes [Truta] |
|
- Add build support for Amiga [Nikl] |
|
- Remove some directories in old that have been updated to 1.2 |
|
- Add dylib building for Mac OS X in configure and Makefile.in |
|
- Remove old distribution stuff from Makefile |
|
- Update README to point to DLL_FAQ.txt, and add comment on Mac OS X |
|
- Update links in README |
|
|
|
Changes in 1.2.0.6 (13 September 2003) |
|
- Minor FAQ updates |
|
- Update contrib/minizip to 1.00 [Vollant] |
|
- Remove test of gz functions in example.c when GZ_COMPRESS defined [Truta] |
|
- Update POSTINC comment for 68060 [Nikl] |
|
- Add contrib/infback9 with deflate64 decoding (unsupported) |
|
- For MVS define NO_vsnprintf and undefine FAR [van Burik] |
|
- Add pragma for fdopen on MVS [van Burik] |
|
|
|
Changes in 1.2.0.5 (8 September 2003) |
|
- Add OF to inflateBackEnd() declaration in zlib.h |
|
- Remember start when using gzdopen in the middle of a file |
|
- Use internal off_t counters in gz* functions to properly handle seeks |
|
- Perform more rigorous check for distance-too-far in inffast.c |
|
- Add Z_BLOCK flush option to return from inflate at block boundary |
|
- Set strm->data_type on return from inflate |
|
- Indicate bits unused, if at block boundary, and if in last block |
|
- Replace size_t with ptrdiff_t in crc32.c, and check for correct size |
|
- Add condition so old NO_DEFLATE define still works for compatibility |
|
- FAQ update regarding the Windows DLL [Truta] |
|
- INDEX update: add qnx entry, remove aix entry [Truta] |
|
- Install zlib.3 into mandir [Wilson] |
|
- Move contrib/zlib_dll_FAQ.txt to win32/DLL_FAQ.txt; update [Truta] |
|
- Adapt the zlib interface to the new DLL convention guidelines [Truta] |
|
- Introduce ZLIB_WINAPI macro to allow the export of functions using |
|
the WINAPI calling convention, for Visual Basic [Vollant, Truta] |
|
- Update msdos and win32 scripts and makefiles [Truta] |
|
- Export symbols by name, not by ordinal, in win32/zlib.def [Truta] |
|
- Add contrib/ada [Anisimkov] |
|
- Move asm files from contrib/vstudio/vc70_32 to contrib/asm386 [Truta] |
|
- Rename contrib/asm386 to contrib/masmx86 [Truta, Vollant] |
|
- Add contrib/masm686 [Truta] |
|
- Fix offsets in contrib/inflate86 and contrib/masmx86/inffas32.asm |
|
[Truta, Vollant] |
|
- Update contrib/delphi; rename to contrib/pascal; add example [Truta] |
|
- Remove contrib/delphi2; add a new contrib/delphi [Truta] |
|
- Avoid inclusion of the nonstandard <memory.h> in contrib/iostream, |
|
and fix some method prototypes [Truta] |
|
- Fix the ZCR_SEED2 constant to avoid warnings in contrib/minizip |
|
[Truta] |
|
- Avoid the use of backslash (\) in contrib/minizip [Vollant] |
|
- Fix file time handling in contrib/untgz; update makefiles [Truta] |
|
- Update contrib/vstudio/vc70_32 to comply with the new DLL guidelines |
|
[Vollant] |
|
- Remove contrib/vstudio/vc15_16 [Vollant] |
|
- Rename contrib/vstudio/vc70_32 to contrib/vstudio/vc7 [Truta] |
|
- Update README.contrib [Truta] |
|
- Invert the assignment order of match_head and s->prev[...] in |
|
INSERT_STRING [Truta] |
|
- Compare TOO_FAR with 32767 instead of 32768, to avoid 16-bit warnings |
|
[Truta] |
|
- Compare function pointers with 0, not with NULL or Z_NULL [Truta] |
|
- Fix prototype of syncsearch in inflate.c [Truta] |
|
- Introduce ASMINF macro to be enabled when using an ASM implementation |
|
of inflate_fast [Truta] |
|
- Change NO_DEFLATE to NO_GZCOMPRESS [Truta] |
|
- Modify test_gzio in example.c to take a single file name as a |
|
parameter [Truta] |
|
- Exit the example.c program if gzopen fails [Truta] |
|
- Add type casts around strlen in example.c [Truta] |
|
- Remove casting to sizeof in minigzip.c; give a proper type |
|
to the variable compared with SUFFIX_LEN [Truta] |
|
- Update definitions of STDC and STDC99 in zconf.h [Truta] |
|
- Synchronize zconf.h with the new Windows DLL interface [Truta] |
|
- Use SYS16BIT instead of __32BIT__ to distinguish between |
|
16- and 32-bit platforms [Truta] |
|
- Use far memory allocators in small 16-bit memory models for |
|
Turbo C [Truta] |
|
- Add info about the use of ASMV, ASMINF and ZLIB_WINAPI in |
|
zlibCompileFlags [Truta] |
|
- Cygwin has vsnprintf [Wilson] |
|
- In Windows16, OS_CODE is 0, as in MSDOS [Truta] |
|
- In Cygwin, OS_CODE is 3 (Unix), not 11 (Windows32) [Wilson] |
|
|
|
Changes in 1.2.0.4 (10 August 2003) |
|
- Minor FAQ updates |
|
- Be more strict when checking inflateInit2's windowBits parameter |
|
- Change NO_GUNZIP compile option to NO_GZIP to cover deflate as well |
|
- Add gzip wrapper option to deflateInit2 using windowBits |
|
- Add updated QNX rule in configure and qnx directory [Bonnefoy] |
|
- Make inflate distance-too-far checks more rigorous |
|
- Clean up FAR usage in inflate |
|
- Add casting to sizeof() in gzio.c and minigzip.c |
|
|
|
Changes in 1.2.0.3 (19 July 2003) |
|
- Fix silly error in gzungetc() implementation [Vollant] |
|
- Update contrib/minizip and contrib/vstudio [Vollant] |
|
- Fix printf format in example.c |
|
- Correct cdecl support in zconf.in.h [Anisimkov] |
|
- Minor FAQ updates |
|
|
|
Changes in 1.2.0.2 (13 July 2003) |
|
- Add ZLIB_VERNUM in zlib.h for numerical preprocessor comparisons |
|
- Attempt to avoid warnings in crc32.c for pointer-int conversion |
|
- Add AIX to configure, remove aix directory [Bakker] |
|
- Add some casts to minigzip.c |
|
- Improve checking after insecure sprintf() or vsprintf() calls |
|
- Remove #elif's from crc32.c |
|
- Change leave label to inf_leave in inflate.c and infback.c to avoid |
|
library conflicts |
|
- Remove inflate gzip decoding by default--only enable gzip decoding by |
|
special request for stricter backward compatibility |
|
- Add zlibCompileFlags() function to return compilation information |
|
- More typecasting in deflate.c to avoid warnings |
|
- Remove leading underscore from _Capital #defines [Truta] |
|
- Fix configure to link shared library when testing |
|
- Add some Windows CE target adjustments [Mai] |
|
- Remove #define ZLIB_DLL in zconf.h [Vollant] |
|
- Add zlib.3 [Rodgers] |
|
- Update RFC URL in deflate.c and algorithm.txt [Mai] |
|
- Add zlib_dll_FAQ.txt to contrib [Truta] |
|
- Add UL to some constants [Truta] |
|
- Update minizip and vstudio [Vollant] |
|
- Remove vestigial NEED_DUMMY_RETURN from zconf.in.h |
|
- Expand use of NO_DUMMY_DECL to avoid all dummy structures |
|
- Added iostream3 to contrib [Schwardt] |
|
- Replace rewind() with fseek() for WinCE [Truta] |
|
- Improve setting of zlib format compression level flags |
|
- Report 0 for huffman and rle strategies and for level == 0 or 1 |
|
- Report 2 only for level == 6 |
|
- Only deal with 64K limit when necessary at compile time [Truta] |
|
- Allow TOO_FAR check to be turned off at compile time [Truta] |
|
- Add gzclearerr() function [Souza] |
|
- Add gzungetc() function |
|
|
|
Changes in 1.2.0.1 (17 March 2003) |
|
- Add Z_RLE strategy for run-length encoding [Truta] |
|
- When Z_RLE requested, restrict matches to distance one |
|
- Update zlib.h, minigzip.c, gzopen(), gzdopen() for Z_RLE |
|
- Correct FASTEST compilation to allow level == 0 |
|
- Clean up what gets compiled for FASTEST |
|
- Incorporate changes to zconf.in.h [Vollant] |
|
- Refine detection of Turbo C need for dummy returns |
|
- Refine ZLIB_DLL compilation |
|
- Include additional header file on VMS for off_t typedef |
|
- Try to use _vsnprintf where it supplants vsprintf [Vollant] |
|
- Add some casts in inffast.c |
|
- Enhance comments in zlib.h on what happens if gzprintf() tries to |
|
write more than 4095 bytes before compression |
|
- Remove unused state from inflateBackEnd() |
|
- Remove exit(0) from minigzip.c, example.c |
|
- Get rid of all those darn tabs |
|
- Add "check" target to Makefile.in that does the same thing as "test" |
|
- Add "mostlyclean" and "maintainer-clean" targets to Makefile.in |
|
- Update contrib/inflate86 [Anderson] |
|
- Update contrib/testzlib, contrib/vstudio, contrib/minizip [Vollant] |
|
- Add msdos and win32 directories with makefiles [Truta] |
|
- More additions and improvements to the FAQ |
|
|
|
Changes in 1.2.0 (9 March 2003) |
|
- New and improved inflate code |
|
- About 20% faster |
|
- Does not allocate 32K window unless and until needed |
|
- Automatically detects and decompresses gzip streams |
|
- Raw inflate no longer needs an extra dummy byte at end |
|
- Added inflateBack functions using a callback interface--even faster |
|
than inflate, useful for file utilities (gzip, zip) |
|
- Added inflateCopy() function to record state for random access on |
|
externally generated deflate streams (e.g. in gzip files) |
|
- More readable code (I hope) |
|
- New and improved crc32() |
|
- About 50% faster, thanks to suggestions from Rodney Brown |
|
- Add deflateBound() and compressBound() functions |
|
- Fix memory leak in deflateInit2() |
|
- Permit setting dictionary for raw deflate (for parallel deflate) |
|
- Fix const declaration for gzwrite() |
|
- Check for some malloc() failures in gzio.c |
|
- Fix bug in gzopen() on single-byte file 0x1f |
|
- Fix bug in gzread() on concatenated file with 0x1f at end of buffer |
|
and next buffer doesn't start with 0x8b |
|
- Fix uncompress() to return Z_DATA_ERROR on truncated input |
|
- Free memory at end of example.c |
|
- Remove MAX #define in trees.c (conflicted with some libraries) |
|
- Fix static const's in deflate.c, gzio.c, and zutil.[ch] |
|
- Declare malloc() and free() in gzio.c if STDC not defined |
|
- Use malloc() instead of calloc() in zutil.c if int big enough |
|
- Define STDC for AIX |
|
- Add aix/ with approach for compiling shared library on AIX |
|
- Add HP-UX support for shared libraries in configure |
|
- Add OpenUNIX support for shared libraries in configure |
|
- Use $cc instead of gcc to build shared library |
|
- Make prefix directory if needed when installing |
|
- Correct Macintosh avoidance of typedef Byte in zconf.h |
|
- Correct Turbo C memory allocation when under Linux |
|
- Use libz.a instead of -lz in Makefile (assure use of compiled library) |
|
- Update configure to check for snprintf or vsnprintf functions and their |
|
return value, warn during make if using an insecure function |
|
- Fix configure problem with compile-time knowledge of HAVE_UNISTD_H that |
|
is lost when library is used--resolution is to build new zconf.h |
|
- Documentation improvements (in zlib.h): |
|
- Document raw deflate and inflate |
|
- Update RFCs URL |
|
- Point out that zlib and gzip formats are different |
|
- Note that Z_BUF_ERROR is not fatal |
|
- Document string limit for gzprintf() and possible buffer overflow |
|
- Note requirement on avail_out when flushing |
|
- Note permitted values of flush parameter of inflate() |
|
- Add some FAQs (and even answers) to the FAQ |
|
- Add contrib/inflate86/ for x86 faster inflate |
|
- Add contrib/blast/ for PKWare Data Compression Library decompression |
|
- Add contrib/puff/ simple inflate for deflate format description |
|
|
|
Changes in 1.1.4 (11 March 2002) |
|
- ZFREE was repeated on same allocation on some error conditions |
|
This creates a security problem described in |
|
http://www.zlib.org/advisory-2002-03-11.txt |
|
- Returned incorrect error (Z_MEM_ERROR) on some invalid data |
|
- Avoid accesses before window for invalid distances with inflate window |
|
less than 32K |
|
- force windowBits > 8 to avoid a bug in the encoder for a window size |
|
of 256 bytes. (A complete fix will be available in 1.1.5) |
|
|
|
Changes in 1.1.3 (9 July 1998) |
|
- fix "an inflate input buffer bug that shows up on rare but persistent |
|
occasions" (Mark) |
|
- fix gzread and gztell for concatenated .gz files (Didier Le Botlan) |
|
- fix gzseek(..., SEEK_SET) in write mode |
|
- fix crc check after a gzeek (Frank Faubert) |
|
- fix miniunzip when the last entry in a zip file is itself a zip file |
|
(J Lillge) |
|
- add contrib/asm586 and contrib/asm686 (Brian Raiter) |
|
See http://www.muppetlabs.com/~breadbox/software/assembly.html |
|
- add support for Delphi 3 in contrib/delphi (Bob Dellaca) |
|
- add support for C++Builder 3 and Delphi 3 in contrib/delphi2 (Davide Moretti) |
|
- do not exit prematurely in untgz if 0 at start of block (Magnus Holmgren) |
|
- use macro EXTERN instead of extern to support DLL for BeOS (Sander Stoks) |
|
- added a FAQ file |
|
|
|
- Support gzdopen on Mac with Metrowerks (Jason Linhart) |
|
- Do not redefine Byte on Mac (Brad Pettit & Jason Linhart) |
|
- define SEEK_END too if SEEK_SET is not defined (Albert Chin-A-Young) |
|
- avoid some warnings with Borland C (Tom Tanner) |
|
- fix a problem in contrib/minizip/zip.c for 16-bit MSDOS (Gilles Vollant) |
|
- emulate utime() for WIN32 in contrib/untgz (Gilles Vollant) |
|
- allow several arguments to configure (Tim Mooney, Frodo Looijaard) |
|
- use libdir and includedir in Makefile.in (Tim Mooney) |
|
- support shared libraries on OSF1 V4 (Tim Mooney) |
|
- remove so_locations in "make clean" (Tim Mooney) |
|
- fix maketree.c compilation error (Glenn, Mark) |
|
- Python interface to zlib now in Python 1.5 (Jeremy Hylton) |
|
- new Makefile.riscos (Rich Walker) |
|
- initialize static descriptors in trees.c for embedded targets (Nick Smith) |
|
- use "foo-gz" in example.c for RISCOS and VMS (Nick Smith) |
|
- add the OS/2 files in Makefile.in too (Andrew Zabolotny) |
|
- fix fdopen and halloc macros for Microsoft C 6.0 (Tom Lane) |
|
- fix maketree.c to allow clean compilation of inffixed.h (Mark) |
|
- fix parameter check in deflateCopy (Gunther Nikl) |
|
- cleanup trees.c, use compressed_len only in debug mode (Christian Spieler) |
|
- Many portability patches by Christian Spieler: |
|
. zutil.c, zutil.h: added "const" for zmem* |
|
. Make_vms.com: fixed some typos |
|
. Make_vms.com: msdos/Makefile.*: removed zutil.h from some dependency lists |
|
. msdos/Makefile.msc: remove "default rtl link library" info from obj files |
|
. msdos/Makefile.*: use model-dependent name for the built zlib library |
|
. msdos/Makefile.emx, nt/Makefile.emx, nt/Makefile.gcc: |
|
new makefiles, for emx (DOS/OS2), emx&rsxnt and mingw32 (Windows 9x / NT) |
|
- use define instead of typedef for Bytef also for MSC small/medium (Tom Lane) |
|
- replace __far with _far for better portability (Christian Spieler, Tom Lane) |
|
- fix test for errno.h in configure (Tim Newsham) |
|
|
|
Changes in 1.1.2 (19 March 98) |
|
- added contrib/minzip, mini zip and unzip based on zlib (Gilles Vollant) |
|
See http://www.winimage.com/zLibDll/unzip.html |
|
- preinitialize the inflate tables for fixed codes, to make the code |
|
completely thread safe (Mark) |
|
- some simplifications and slight speed-up to the inflate code (Mark) |
|
- fix gzeof on non-compressed files (Allan Schrum) |
|
- add -std1 option in configure for OSF1 to fix gzprintf (Martin Mokrejs) |
|
- use default value of 4K for Z_BUFSIZE for 16-bit MSDOS (Tim Wegner + Glenn) |
|
- added os2/Makefile.def and os2/zlib.def (Andrew Zabolotny) |
|
- add shared lib support for UNIX_SV4.2MP (MATSUURA Takanori) |
|
- do not wrap extern "C" around system includes (Tom Lane) |
|
- mention zlib binding for TCL in README (Andreas Kupries) |
|
- added amiga/Makefile.pup for Amiga powerUP SAS/C PPC (Andreas Kleinert) |
|
- allow "make install prefix=..." even after configure (Glenn Randers-Pehrson) |
|
- allow "configure --prefix $HOME" (Tim Mooney) |
|
- remove warnings in example.c and gzio.c (Glenn Randers-Pehrson) |
|
- move Makefile.sas to amiga/Makefile.sas |
|
|
|
Changes in 1.1.1 (27 Feb 98) |
|
- fix macros _tr_tally_* in deflate.h for debug mode (Glenn Randers-Pehrson) |
|
- remove block truncation heuristic which had very marginal effect for zlib |
|
(smaller lit_bufsize than in gzip 1.2.4) and degraded a little the |
|
compression ratio on some files. This also allows inlining _tr_tally for |
|
matches in deflate_slow |
|
- added msdos/Makefile.w32 for WIN32 Microsoft Visual C++ (Bob Frazier) |
|
|
|
Changes in 1.1.0 (24 Feb 98) |
|
- do not return STREAM_END prematurely in inflate (John Bowler) |
|
- revert to the zlib 1.0.8 inflate to avoid the gcc 2.8.0 bug (Jeremy Buhler) |
|
- compile with -DFASTEST to get compression code optimized for speed only |
|
- in minigzip, try mmap'ing the input file first (Miguel Albrecht) |
|
- increase size of I/O buffers in minigzip.c and gzio.c (not a big gain |
|
on Sun but significant on HP) |
|
|
|
- add a pointer to experimental unzip library in README (Gilles Vollant) |
|
- initialize variable gcc in configure (Chris Herborth) |
|
|
|
Changes in 1.0.9 (17 Feb 1998) |
|
- added gzputs and gzgets functions |
|
- do not clear eof flag in gzseek (Mark Diekhans) |
|
- fix gzseek for files in transparent mode (Mark Diekhans) |
|
- do not assume that vsprintf returns the number of bytes written (Jens Krinke) |
|
- replace EXPORT with ZEXPORT to avoid conflict with other programs |
|
- added compress2 in zconf.h, zlib.def, zlib.dnt |
|
- new asm code from Gilles Vollant in contrib/asm386 |
|
- simplify the inflate code (Mark): |
|
. Replace ZALLOC's in huft_build() with single ZALLOC in inflate_blocks_new() |
|
. ZALLOC the length list in inflate_trees_fixed() instead of using stack |
|
. ZALLOC the value area for huft_build() instead of using stack |
|
. Simplify Z_FINISH check in inflate() |
|
|
|
- Avoid gcc 2.8.0 comparison bug a little differently than zlib 1.0.8 |
|
- in inftrees.c, avoid cc -O bug on HP (Farshid Elahi) |
|
- in zconf.h move the ZLIB_DLL stuff earlier to avoid problems with |
|
the declaration of FAR (Gilles Vollant) |
|
- install libz.so* with mode 755 (executable) instead of 644 (Marc Lehmann) |
|
- read_buf buf parameter of type Bytef* instead of charf* |
|
- zmemcpy parameters are of type Bytef*, not charf* (Joseph Strout) |
|
- do not redeclare unlink in minigzip.c for WIN32 (John Bowler) |
|
- fix check for presence of directories in "make install" (Ian Willis) |
|
|
|
Changes in 1.0.8 (27 Jan 1998) |
|
- fixed offsets in contrib/asm386/gvmat32.asm (Gilles Vollant) |
|
- fix gzgetc and gzputc for big endian systems (Markus Oberhumer) |
|
- added compress2() to allow setting the compression level |
|
- include sys/types.h to get off_t on some systems (Marc Lehmann & QingLong) |
|
- use constant arrays for the static trees in trees.c instead of computing |
|
them at run time (thanks to Ken Raeburn for this suggestion). To create |
|
trees.h, compile with GEN_TREES_H and run "make test" |
|
- check return code of example in "make test" and display result |
|
- pass minigzip command line options to file_compress |
|
- simplifying code of inflateSync to avoid gcc 2.8 bug |
|
|
|
- support CC="gcc -Wall" in configure -s (QingLong) |
|
- avoid a flush caused by ftell in gzopen for write mode (Ken Raeburn) |
|
- fix test for shared library support to avoid compiler warnings |
|
- zlib.lib -> zlib.dll in msdos/zlib.rc (Gilles Vollant) |
|
- check for TARGET_OS_MAC in addition to MACOS (Brad Pettit) |
|
- do not use fdopen for Metrowerks on Mac (Brad Pettit)) |
|
- add checks for gzputc and gzputc in example.c |
|
- avoid warnings in gzio.c and deflate.c (Andreas Kleinert) |
|
- use const for the CRC table (Ken Raeburn) |
|
- fixed "make uninstall" for shared libraries |
|
- use Tracev instead of Trace in infblock.c |
|
- in example.c use correct compressed length for test_sync |
|
- suppress +vnocompatwarnings in configure for HPUX (not always supported) |
|
|
|
Changes in 1.0.7 (20 Jan 1998) |
|
- fix gzseek which was broken in write mode |
|
- return error for gzseek to negative absolute position |
|
- fix configure for Linux (Chun-Chung Chen) |
|
- increase stack space for MSC (Tim Wegner) |
|
- get_crc_table and inflateSyncPoint are EXPORTed (Gilles Vollant) |
|
- define EXPORTVA for gzprintf (Gilles Vollant) |
|
- added man page zlib.3 (Rick Rodgers) |
|
- for contrib/untgz, fix makedir() and improve Makefile |
|
|
|
- check gzseek in write mode in example.c |
|
- allocate extra buffer for seeks only if gzseek is actually called |
|
- avoid signed/unsigned comparisons (Tim Wegner, Gilles Vollant) |
|
- add inflateSyncPoint in zconf.h |
|
- fix list of exported functions in nt/zlib.dnt and mdsos/zlib.def |
|
|
|
Changes in 1.0.6 (19 Jan 1998) |
|
- add functions gzprintf, gzputc, gzgetc, gztell, gzeof, gzseek, gzrewind and |
|
gzsetparams (thanks to Roland Giersig and Kevin Ruland for some of this code) |
|
- Fix a deflate bug occurring only with compression level 0 (thanks to |
|
Andy Buckler for finding this one) |
|
- In minigzip, pass transparently also the first byte for .Z files |
|
- return Z_BUF_ERROR instead of Z_OK if output buffer full in uncompress() |
|
- check Z_FINISH in inflate (thanks to Marc Schluper) |
|
- Implement deflateCopy (thanks to Adam Costello) |
|
- make static libraries by default in configure, add --shared option |
|
- move MSDOS or Windows specific files to directory msdos |
|
- suppress the notion of partial flush to simplify the interface |
|
(but the symbol Z_PARTIAL_FLUSH is kept for compatibility with 1.0.4) |
|
- suppress history buffer provided by application to simplify the interface |
|
(this feature was not implemented anyway in 1.0.4) |
|
- next_in and avail_in must be initialized before calling inflateInit or |
|
inflateInit2 |
|
- add EXPORT in all exported functions (for Windows DLL) |
|
- added Makefile.nt (thanks to Stephen Williams) |
|
- added the unsupported "contrib" directory: |
|
contrib/asm386/ by Gilles Vollant <info@winimage.com> |
|
386 asm code replacing longest_match() |
|
contrib/iostream/ by Kevin Ruland <kevin@rodin.wustl.edu> |
|
A C++ I/O streams interface to the zlib gz* functions |
|
contrib/iostream2/ by Tyge Løvset <Tyge.Lovset@cmr.no> |
|
Another C++ I/O streams interface |
|
contrib/untgz/ by "Pedro A. Aranda Guti\irrez" <paag@tid.es> |
|
A very simple tar.gz file extractor using zlib |
|
contrib/visual-basic.txt by Carlos Rios <c_rios@sonda.cl> |
|
How to use compress(), uncompress() and the gz* functions from VB |
|
- pass params -f (filtered data), -h (huffman only), -1 to -9 (compression |
|
level) in minigzip (thanks to Tom Lane) |
|
|
|
- use const for rommable constants in deflate |
|
- added test for gzseek and gztell in example.c |
|
- add undocumented function inflateSyncPoint() (hack for Paul Mackerras) |
|
- add undocumented function zError to convert error code to string |
|
(for Tim Smithers) |
|
- Allow compilation of gzio with -DNO_DEFLATE to avoid the compression code |
|
- Use default memcpy for Symantec MSDOS compiler |
|
- Add EXPORT keyword for check_func (needed for Windows DLL) |
|
- add current directory to LD_LIBRARY_PATH for "make test" |
|
- create also a link for libz.so.1 |
|
- added support for FUJITSU UXP/DS (thanks to Toshiaki Nomura) |
|
- use $(SHAREDLIB) instead of libz.so in Makefile.in (for HPUX) |
|
- added -soname for Linux in configure (Chun-Chung Chen, |
|
- assign numbers to the exported functions in zlib.def (for Windows DLL) |
|
- add advice in zlib.h for best usage of deflateSetDictionary |
|
- work around compiler bug on Atari (cast Z_NULL in call of s->checkfn) |
|
- allow compilation with ANSI keywords only enabled for TurboC in large model |
|
- avoid "versionString"[0] (Borland bug) |
|
- add NEED_DUMMY_RETURN for Borland |
|
- use variable z_verbose for tracing in debug mode (L. Peter Deutsch) |
|
- allow compilation with CC |
|
- defined STDC for OS/2 (David Charlap) |
|
- limit external names to 8 chars for MVS (Thomas Lund) |
|
- in minigzip.c, use static buffers only for 16-bit systems |
|
- fix suffix check for "minigzip -d foo.gz" |
|
- do not return an error for the 2nd of two consecutive gzflush() (Felix Lee) |
|
- use _fdopen instead of fdopen for MSC >= 6.0 (Thomas Fanslau) |
|
- added makelcc.bat for lcc-win32 (Tom St Denis) |
|
- in Makefile.dj2, use copy and del instead of install and rm (Frank Donahoe) |
|
- Avoid expanded $Id$. Use "rcs -kb" or "cvs admin -kb" to avoid Id expansion |
|
- check for unistd.h in configure (for off_t) |
|
- remove useless check parameter in inflate_blocks_free |
|
- avoid useless assignment of s->check to itself in inflate_blocks_new |
|
- do not flush twice in gzclose (thanks to Ken Raeburn) |
|
- rename FOPEN as F_OPEN to avoid clash with /usr/include/sys/file.h |
|
- use NO_ERRNO_H instead of enumeration of operating systems with errno.h |
|
- work around buggy fclose on pipes for HP/UX |
|
- support zlib DLL with BORLAND C++ 5.0 (thanks to Glenn Randers-Pehrson) |
|
- fix configure if CC is already equal to gcc |
|
|
|
Changes in 1.0.5 (3 Jan 98) |
|
- Fix inflate to terminate gracefully when fed corrupted or invalid data |
|
- Use const for rommable constants in inflate |
|
- Eliminate memory leaks on error conditions in inflate |
|
- Removed some vestigial code in inflate |
|
- Update web address in README |
|
|
|
Changes in 1.0.4 (24 Jul 96) |
|
- In very rare conditions, deflate(s, Z_FINISH) could fail to produce an EOF |
|
bit, so the decompressor could decompress all the correct data but went |
|
on to attempt decompressing extra garbage data. This affected minigzip too |
|
- zlibVersion and gzerror return const char* (needed for DLL) |
|
- port to RISCOS (no fdopen, no multiple dots, no unlink, no fileno) |
|
- use z_error only for DEBUG (avoid problem with DLLs) |
|
|
|
Changes in 1.0.3 (2 Jul 96) |
|
- use z_streamp instead of z_stream *, which is now a far pointer in MSDOS |
|
small and medium models; this makes the library incompatible with previous |
|
versions for these models. (No effect in large model or on other systems.) |
|
- return OK instead of BUF_ERROR if previous deflate call returned with |
|
avail_out as zero but there is nothing to do |
|
- added memcmp for non STDC compilers |
|
- define NO_DUMMY_DECL for more Mac compilers (.h files merged incorrectly) |
|
- define __32BIT__ if __386__ or i386 is defined (pb. with Watcom and SCO) |
|
- better check for 16-bit mode MSC (avoids problem with Symantec) |
|
|
|
Changes in 1.0.2 (23 May 96) |
|
- added Windows DLL support |
|
- added a function zlibVersion (for the DLL support) |
|
- fixed declarations using Bytef in infutil.c (pb with MSDOS medium model) |
|
- Bytef is define's instead of typedef'd only for Borland C |
|
- avoid reading uninitialized memory in example.c |
|
- mention in README that the zlib format is now RFC1950 |
|
- updated Makefile.dj2 |
|
- added algorithm.doc |
|
|
|
Changes in 1.0.1 (20 May 96) [1.0 skipped to avoid confusion] |
|
- fix array overlay in deflate.c which sometimes caused bad compressed data |
|
- fix inflate bug with empty stored block |
|
- fix MSDOS medium model which was broken in 0.99 |
|
- fix deflateParams() which could generate bad compressed data |
|
- Bytef is define'd instead of typedef'ed (work around Borland bug) |
|
- added an INDEX file |
|
- new makefiles for DJGPP (Makefile.dj2), 32-bit Borland (Makefile.b32), |
|
Watcom (Makefile.wat), Amiga SAS/C (Makefile.sas) |
|
- speed up adler32 for modern machines without auto-increment |
|
- added -ansi for IRIX in configure |
|
- static_init_done in trees.c is an int |
|
- define unlink as delete for VMS |
|
- fix configure for QNX |
|
- add configure branch for SCO and HPUX |
|
- avoid many warnings (unused variables, dead assignments, etc...) |
|
- no fdopen for BeOS |
|
- fix the Watcom fix for 32 bit mode (define FAR as empty) |
|
- removed redefinition of Byte for MKWERKS |
|
- work around an MWKERKS bug (incorrect merge of all .h files) |
|
|
|
Changes in 0.99 (27 Jan 96) |
|
- allow preset dictionary shared between compressor and decompressor |
|
- allow compression level 0 (no compression) |
|
- add deflateParams in zlib.h: allow dynamic change of compression level |
|
and compression strategy |
|
- test large buffers and deflateParams in example.c |
|
- add optional "configure" to build zlib as a shared library |
|
- suppress Makefile.qnx, use configure instead |
|
- fixed deflate for 64-bit systems (detected on Cray) |
|
- fixed inflate_blocks for 64-bit systems (detected on Alpha) |
|
- declare Z_DEFLATED in zlib.h (possible parameter for deflateInit2) |
|
- always return Z_BUF_ERROR when deflate() has nothing to do |
|
- deflateInit and inflateInit are now macros to allow version checking |
|
- prefix all global functions and types with z_ with -DZ_PREFIX |
|
- make falloc completely reentrant (inftrees.c) |
|
- fixed very unlikely race condition in ct_static_init |
|
- free in reverse order of allocation to help memory manager |
|
- use zlib-1.0/* instead of zlib/* inside the tar.gz |
|
- make zlib warning-free with "gcc -O3 -Wall -Wwrite-strings -Wpointer-arith |
|
-Wconversion -Wstrict-prototypes -Wmissing-prototypes" |
|
- allow gzread on concatenated .gz files |
|
- deflateEnd now returns Z_DATA_ERROR if it was premature |
|
- deflate is finally (?) fully deterministic (no matches beyond end of input) |
|
- Document Z_SYNC_FLUSH |
|
- add uninstall in Makefile |
|
- Check for __cpluplus in zlib.h |
|
- Better test in ct_align for partial flush |
|
- avoid harmless warnings for Borland C++ |
|
- initialize hash_head in deflate.c |
|
- avoid warning on fdopen (gzio.c) for HP cc -Aa |
|
- include stdlib.h for STDC compilers |
|
- include errno.h for Cray |
|
- ignore error if ranlib doesn't exist |
|
- call ranlib twice for NeXTSTEP |
|
- use exec_prefix instead of prefix for libz.a |
|
- renamed ct_* as _tr_* to avoid conflict with applications |
|
- clear z->msg in inflateInit2 before any error return |
|
- initialize opaque in example.c, gzio.c, deflate.c and inflate.c |
|
- fixed typo in zconf.h (_GNUC__ => __GNUC__) |
|
- check for WIN32 in zconf.h and zutil.c (avoid farmalloc in 32-bit mode) |
|
- fix typo in Make_vms.com (f$trnlnm -> f$getsyi) |
|
- in fcalloc, normalize pointer if size > 65520 bytes |
|
- don't use special fcalloc for 32 bit Borland C++ |
|
- use STDC instead of __GO32__ to avoid redeclaring exit, calloc, etc. |
|
- use Z_BINARY instead of BINARY |
|
- document that gzclose after gzdopen will close the file |
|
- allow "a" as mode in gzopen |
|
- fix error checking in gzread |
|
- allow skipping .gz extra-field on pipes |
|
- added reference to Perl interface in README |
|
- put the crc table in FAR data (I dislike more and more the medium model :) |
|
- added get_crc_table |
|
- added a dimension to all arrays (Borland C can't count) |
|
- workaround Borland C bug in declaration of inflate_codes_new & inflate_fast |
|
- guard against multiple inclusion of *.h (for precompiled header on Mac) |
|
- Watcom C pretends to be Microsoft C small model even in 32 bit mode |
|
- don't use unsized arrays to avoid silly warnings by Visual C++: |
|
warning C4746: 'inflate_mask' : unsized array treated as '__far' |
|
(what's wrong with far data in far model?) |
|
- define enum out of inflate_blocks_state to allow compilation with C++ |
|
|
|
Changes in 0.95 (16 Aug 95) |
|
- fix MSDOS small and medium model (now easier to adapt to any compiler) |
|
- inlined send_bits |
|
- fix the final (:-) bug for deflate with flush (output was correct but |
|
not completely flushed in rare occasions) |
|
- default window size is same for compression and decompression |
|
(it's now sufficient to set MAX_WBITS in zconf.h) |
|
- voidp -> voidpf and voidnp -> voidp (for consistency with other |
|
typedefs and because voidnp was not near in large model) |
|
|
|
Changes in 0.94 (13 Aug 95) |
|
- support MSDOS medium model |
|
- fix deflate with flush (could sometimes generate bad output) |
|
- fix deflateReset (zlib header was incorrectly suppressed) |
|
- added support for VMS |
|
- allow a compression level in gzopen() |
|
- gzflush now calls fflush |
|
- For deflate with flush, flush even if no more input is provided |
|
- rename libgz.a as libz.a |
|
- avoid complex expression in infcodes.c triggering Turbo C bug |
|
- work around a problem with gcc on Alpha (in INSERT_STRING) |
|
- don't use inline functions (problem with some gcc versions) |
|
- allow renaming of Byte, uInt, etc... with #define |
|
- avoid warning about (unused) pointer before start of array in deflate.c |
|
- avoid various warnings in gzio.c, example.c, infblock.c, adler32.c, zutil.c |
|
- avoid reserved word 'new' in trees.c |
|
|
|
Changes in 0.93 (25 June 95) |
|
- temporarily disable inline functions |
|
- make deflate deterministic |
|
- give enough lookahead for PARTIAL_FLUSH |
|
- Set binary mode for stdin/stdout in minigzip.c for OS/2 |
|
- don't even use signed char in inflate (not portable enough) |
|
- fix inflate memory leak for segmented architectures |
|
|
|
Changes in 0.92 (3 May 95) |
|
- don't assume that char is signed (problem on SGI) |
|
- Clear bit buffer when starting a stored block |
|
- no memcpy on Pyramid |
|
- suppressed inftest.c |
|
- optimized fill_window, put longest_match inline for gcc |
|
- optimized inflate on stored blocks |
|
- untabify all sources to simplify patches |
|
|
|
Changes in 0.91 (2 May 95) |
|
- Default MEM_LEVEL is 8 (not 9 for Unix) as documented in zlib.h |
|
- Document the memory requirements in zconf.h |
|
- added "make install" |
|
- fix sync search logic in inflateSync |
|
- deflate(Z_FULL_FLUSH) now works even if output buffer too short |
|
- after inflateSync, don't scare people with just "lo world" |
|
- added support for DJGPP |
|
|
|
Changes in 0.9 (1 May 95) |
|
- don't assume that zalloc clears the allocated memory (the TurboC bug |
|
was Mark's bug after all :) |
|
- let again gzread copy uncompressed data unchanged (was working in 0.71) |
|
- deflate(Z_FULL_FLUSH), inflateReset and inflateSync are now fully implemented |
|
- added a test of inflateSync in example.c |
|
- moved MAX_WBITS to zconf.h because users might want to change that |
|
- document explicitly that zalloc(64K) on MSDOS must return a normalized |
|
pointer (zero offset) |
|
- added Makefiles for Microsoft C, Turbo C, Borland C++ |
|
- faster crc32() |
|
|
|
Changes in 0.8 (29 April 95) |
|
- added fast inflate (inffast.c) |
|
- deflate(Z_FINISH) now returns Z_STREAM_END when done. Warning: this |
|
is incompatible with previous versions of zlib which returned Z_OK |
|
- work around a TurboC compiler bug (bad code for b << 0, see infutil.h) |
|
(actually that was not a compiler bug, see 0.81 above) |
|
- gzread no longer reads one extra byte in certain cases |
|
- In gzio destroy(), don't reference a freed structure |
|
- avoid many warnings for MSDOS |
|
- avoid the ERROR symbol which is used by MS Windows |
|
|
|
Changes in 0.71 (14 April 95) |
|
- Fixed more MSDOS compilation problems :( There is still a bug with |
|
TurboC large model |
|
|
|
Changes in 0.7 (14 April 95) |
|
- Added full inflate support |
|
- Simplified the crc32() interface. The pre- and post-conditioning |
|
(one's complement) is now done inside crc32(). WARNING: this is |
|
incompatible with previous versions; see zlib.h for the new usage |
|
|
|
Changes in 0.61 (12 April 95) |
|
- workaround for a bug in TurboC. example and minigzip now work on MSDOS |
|
|
|
Changes in 0.6 (11 April 95) |
|
- added minigzip.c |
|
- added gzdopen to reopen a file descriptor as gzFile |
|
- added transparent reading of non-gziped files in gzread |
|
- fixed bug in gzread (don't read crc as data) |
|
- fixed bug in destroy (gzio.c) (don't return Z_STREAM_END for gzclose) |
|
- don't allocate big arrays in the stack (for MSDOS) |
|
- fix some MSDOS compilation problems |
|
|
|
Changes in 0.5: |
|
- do real compression in deflate.c. Z_PARTIAL_FLUSH is supported but |
|
not yet Z_FULL_FLUSH |
|
- support decompression but only in a single step (forced Z_FINISH) |
|
- added opaque object for zalloc and zfree |
|
- added deflateReset and inflateReset |
|
- added a variable zlib_version for consistency checking |
|
- renamed the 'filter' parameter of deflateInit2 as 'strategy' |
|
Added Z_FILTERED and Z_HUFFMAN_ONLY constants |
|
|
|
Changes in 0.4: |
|
- avoid "zip" everywhere, use zlib instead of ziplib |
|
- suppress Z_BLOCK_FLUSH, interpret Z_PARTIAL_FLUSH as block flush |
|
if compression method == 8 |
|
- added adler32 and crc32 |
|
- renamed deflateOptions as deflateInit2, call one or the other but not both |
|
- added the method parameter for deflateInit2 |
|
- added inflateInit2 |
|
- simplified considerably deflateInit and inflateInit by not supporting |
|
user-provided history buffer. This is supported only in deflateInit2 |
|
and inflateInit2 |
|
|
|
Changes in 0.3: |
|
- prefix all macro names with Z_ |
|
- use Z_FINISH instead of deflateEnd to finish compression |
|
- added Z_HUFFMAN_ONLY |
|
- added gzerror()
|
|
|