2 2017-06-11 guidod <guidod@gmx.de>
3 * fix portability issues by introducing <zzip/__errno.h>
4 * fix portability issues by introducing <zzip/__mkdir.h>
5 * fix portability issues by introducing <zzip/__string.h> for strndup
6 * reuse portability header <zzip/__fnmatch.h> in bins/*.c
9 2017-04-24 guidod <guidod@gmx.de>
10 * common frontend 'unzzip.c' for example code in unzzip*-xx.c
11 * expand testcases to cover all of big/mem/mix/zap variants
14 2017-04-23 guidod <guidod@gmx.de>
15 * turn the testsuite from makefile into python unittest format
16 * extend 'make check' testsuite to cover non-libzzip extensions
17 * fix unzzipcat-seeko and unzzipcat-mem to match the testsuite
20 2017-04-20 guidod <guidod@gmx.de>
21 * check patches in opensuse builds, mostly for some CVE reports
23 2012-09-15 guidod <guidod@gmx.de>
24 * zzip.h, plugin.h: "};" at end of extern-C produces build errors with
25 the default --pedantic-errors on newer CMake. Thanks to Keith Thompson
26 recognizing it - see http://stackoverflow.com/questions/12384280/
28 2012-03-11 guidod <guidod@gmx.de>
30 * configure.ac: fallback to libtool -export-dynamic unless being sure to
31 use gnu-ld --export-dynamic. The darwin case is a bit special here
32 as the c-compiler and linker might be from different worlds.
33 * next 0.13.62 - needs a fix for mingw
34 (-mconsole is not a linker option, only the gcc should see it)
36 2010-12-30 guidod <guidod@gmx.de>
37 * done 0.13.60 release, tagged, and announced.
40 2010-12-29 guidod <guidod@gmx.de>
41 * Makefile.am: allow nonstaic build
42 * wrap fd.open like in the Fedora patch
44 2010-12-28 guidod <guidod@gmx.de>
45 * zziplib.spec - simplify the spec based on distro specs.
47 2010-12-27 guidod <guidod@gmx.de>
48 * adding fetch.h/fetch.c to msvc8/zziplib.vcproj to allow
49 tests with Visual Studio C++ Express 2005
51 2010-12-27 guidod <guidod@gmx.de>
52 * fix stat.c to check ZZIP_CASELESS instead of the deprecated
53 ZZIP_CASEINSENSITIVE. The latter is still recognized for
54 compatibility reasons and implicitly mapped to ZZIP_CASELESS.
55 * fixes the zziplib-Patches-3078188 which reported the bug.
57 2010-12-27 guidod <guidod@gmx.de>
58 * apply patches by Peter Breitenlohner for better compatibility
59 with AIX host system. Also the Sun Studio compiler insists on
60 static inline functions or else assumes extern inline.
61 * also fixes zziplib-Patches-3011551 on the AIX problem.
63 2010-12-27 guidod <guidod@gmx.de>
64 * add hints that the ext_io plugin handlers should be static.
66 2010-05-09 guidod <guidod@gmx.de>
68 * zzip/__fnmatch.h: add include <string.h> to make mingw32 happy.
69 Patches item #2995373 by Gregory Smith
71 2010-05-08 guidod <guidod@gmx.de>
73 * SDL/Makefile.am: fix generation of sdl-uninstalled.pc that was
74 not recognized during compilation.
76 2010-04-05 guidod <guidod@gmx.de>
78 * Makefile.am: fix "osc rm" and fix "test-sdl" if SDL was not found.
79 * configure.ac: SDL example builds on pkgconfig/sdl.pc which
81 was introduced with SDL 1.2.11 - CentOs5 ships 1.2.10 which
82 does only have "sdl-config" and it made for a mismatch in
83 in the build configuration: sdl-devel yes, pkgconfig sdl no.
84 * zzip/zip.c (__zzip_parse_root_directory): move the check for
85 zzip_disk_entry_check_magic to be after the the check that
86 the seek-value is more than a header's size before the end.
87 (based on a segfault report by Tulipánt Gergely when the
88 new modulo_entries code is enabled (which is off by default))
90 2010-03-30 guidod <guidod@gmx.de>
92 * zzip/Makefile.am: fixing symlinks for lib* - use only for Linux
93 Thanks to Ryan Schmidt (macports):
94 ... likes to install some symlinks that don't make sense on Mac OS X:
95 $ ls -l /opt/local/lib/*zzip*so*
96 lrwxr-xr-x /opt/local/lib/libzzip*.so.10 -> libzzip*.so.13
97 lrwxr-xr-x /opt/local/lib/libzzip*.so.11 -> libzzip*.so.13
98 lrwxr-xr-x /opt/local/lib/libzzip*.so.12 -> libzzip*.so.13
99 Yes, the filenames literally contain an asterisk.
103 2010-03-29 guidod <guidod@gmx.de>
105 * Makefile.am: change osc to new home:guidod:zziplib-13
106 * configure.ac: update to autoconf 2.61 which does some things differently
107 * m4/ax_pax_tar.m4: bug report http://trac.macports.org/ticket/24227
108 showed a problem on MacOsX where some "pax" tools where advertising
109 an "-O" option in their "--help" page but it did not work. Therefore
110 rewriting the macro to actually test some "-w -O" to create a tarfile.
112 2010-03-26 guidod <guidod@gmx.de>
114 * zzip/dir.c: and zzip/file.c - adding comments to the compat32
115 functions such that they appear near their off_t variants.
116 Also added the ifdef-EOVERFLOW check that is needed on Win32.
118 2010-03-25 guidod <guidod@gmx.de>
120 * Makefile.mk: add "-I m4" and re-autoconf with newest autotools.
121 * zzip/zzip32.h: introducing compat32 functions that take "long"
122 arguments where the others use "off_t". Basically, there are
123 two calls per each off_t-function on all systems where
124 previously that had been only done for those 64on32 systems.
125 This scheme maximized binary compatibility - if an application
126 can not be compiled with _LARGEFILE_SOURCE then they can use
127 the compat32 variants to be always sure to do the right thing.
129 2010-02-15 guidod <guidod@gmx.de>
131 * zzip/Makefile.am: newest "install" does not like to install fetch.h
132 three times ("...not overwite... it just installed")
133 * Makefile.am: allow to build locally with "osc" (opensuse buildservice)
135 2010-02-14 guidod <guidod@gmx.de>
137 * zzip/Makefile.am: use install-*-hook instead of install-*-local
138 * docs/Makefile.am: PYTHONDONTWRITEBYTECODE=1 to ensure running
139 python with a read-only source code repository (dynamic workspaces)
140 NOTE: python -B was introduced with Python 2.6 (so use environment)
141 * zzip/plugin.c: missing "void"
142 again thanks to Peter Breitenlohner (tex-live tug org)
143 * test/Makefile.am: build-zips outside of source tree
144 * m4/ax_prefix_config_h.m4: reduce error to warning as suggested
145 * m4/ax_check_aligned_access_required.m4: merging with derived
146 macro zziplib-aligned-access.m4 by Peter Breitenlohner
149 2009-09-24 guidod <guidod@gmx.de>
150 * zziplib.spec: prepare 0.13.59
151 * configure.ac: add --with-defines to allow compile-definitions
152 for easy,harden,allow_modulo_entries (also for documentation)
153 * zzip/zip.c: add ZZIP_EASY to disable the ZZIP_CORRECT_ROOTSEEK
155 * zzip/zip.c (__zzip_parse_root_directory): add parenthesis to fix
156 ZZIP_ALLOW_MODULO_ENTRIES (as reported by Tulipánt Gergely)
157 * zzip/fetch.h: add MSVC defines for x86/x64 that allows direct access
159 2009-08-23 guidod <guidod@gmx.de>
161 * Makefile.mk: remove some old stuff related to the compilefarm
162 * zziplib.spec: prepare 0.13.58
163 * add ports/symbian-S60/zziplib-symbian.zip (thanks to Rangel Reale)
164 * switch from CVS to SVN (!!!!) and update some docs/*.htm files
165 * zzip/mmapped.c (zzip_disk_mmap): compile error on win32-mingw [1771707]
167 2009-08-16 guidod <guidod@gmx.de>
169 * configure.ac: reorder ax_gcc_flags as the extra options were
170 disabled (do not know why) and add -Wstrict-aliasing to the set.
171 Then fix issues in source files (mostly signed-comparision warnings)
172 * zzip/file.c (zzip_file_open): ZZIP_CASELESS will include a
173 mapping of "\" into "/" to get away with windows-orientied
174 programs. The backslash however is only active for those
175 windows' binaries. Fixes an issue with non-msvc win32-builds.
177 2009-08-04 guidod <guidod@gmx.de>
179 * m4/ac_sys_largefile_sensitive.m4: update, fixes ticket:2825391
180 * zzip/mmapped.h: zzip/memdisk.h: replace buflen argument
181 from "int" to "size_t" type for init from some mem area.
183 2009-08-03 guidod <guidod@gmx.de>
185 * zziplib.spec: prepare 0.13.57
186 * bins/zziptest.c: redefine to win32-Sleep() when seen WINDOWS_H
187 which allows it to compile also with a gcc/mingw/msvcrt target
188 * bins/Makefile.am: ZZIP_LDFLAGS are not needed for *.exe targets
189 in fact they make for problems in crosscompiling without libtool
190 * zzip/fseeko.c: typo "fseeko" -> "fseek" made for a compile error
191 on systems that do not have fseeko like windows msvcrt
192 (reported by Josh Heidenreich)
194 2009-07-03 guidod <guidod@gmx.de>
196 * zzip/mmapped.c: insert zzip_disk_buffer and
197 * zzip/memdisk.c: zzip_mem_disk_buffer where both functions
198 will actually wrap an external buffer (e.g. mmapped from
199 another resource such as shared memory).
200 * zzip/mmapped.c and zzip/mmapped.h: uncovered a bug for the
201 MATCH_NOCASE handling and WRAPPED_BUFFER handling that is
202 now handled by explicit ->flags values. The actual flag
203 values are now exported to the header instead of just using
205 * ideas for zzip_disk_buffer / zzip_mem_disk_buffer sprang from
206 a proposal by JP Dai [Goldleaf] who offerd very similar code.
208 2009-06-27 guidod <guidod@gmx.de>
210 * zziplib.spec: 0.13.56 - and make build.opensuse.org happy by
211 removing the %if/%endif sections. (it seems one buildserver
212 script understands it while the other don't - and effectivly
213 all variants fail if it is left in. Hopefully no other platforms
214 have problems with the additional buildrequires that are put here)
215 * zzip/mmapped.c (zzip_disk_new): malloc(sizof()) was errornously
216 using a pointer instead of ZZIP_DISK. Not part of libzzip but
217 of the extra library libzzipmmapped that is in-memory-only.
218 (problem reported and solution shown by JP Dai [Goldleaf])
219 * configure.ac: disable search for python2.2 (gentoo bug 275247+174189)
221 2009-06-22 guidod <guidod@gmx.de>
222 * zziplib.spec: 0.13.55 and integrate patches for build.opensuse.org
223 * zzip/zip.c (__zzip_parse_root_directory): rework parse_directory
224 to allow for ZZIP_ALLOW_MODULO_ENTRIES version as required for
225 some cases where more than 65535 entries are packed into a
226 non-ZIP64 archive. The modulo_entries variant is disabled by
227 default but the know for the problem space was put into code to
228 check for two more error conditions and report them in debug mode.
229 (problem space was described carefully by Tulipánt Gergely and
230 the provided patch was a good foundation for the ifdef code)
231 * configure.ac: use $can_build_shared from linker-config to allow
232 build on platforms that do not support a shared library concept
233 or where it is disabled (the commandline switch overrides it?)
234 (should fix the SF bug ID 2796485 reported by Giovanni Bechis)
235 * zzip/file.c: errornous usage of currentfp before setting it to
236 the new fp value in zzip_seek(). In the good case it would seek
237 on the wrong file and in the bad case it goes off on sigbus/NPE.
238 The problem occurs only if two+ zips are accessed simultaneously.
239 (problem reported and patch kindly provided by Evgeniy Muhin)
240 * docs/Makefile.am: fixup for newer xmlto may be to generate
241 a subdirectory "man3" inside of our output directory "man3"
242 and gard against usage of man3/man3 for the tarball unpacking.
243 (problem reported by Liu Qi [debian package maintainer])
244 * zzip/__hints.h: add else-part for ZZIP_GNUC_PACKED
245 (makes for problems with MSVC as reported by Denny Kunker)
247 2009-05-24 guidod <guidod@gmx.de>
248 * zzip/fetch.c - remove SET/GET fetch definitions that already
249 exist in zzip/fetch.h where they have been corrected lately.
250 * docs/Makefile.am - change from install-sf via shell.sf.net to
251 upload-sourceforge via web.sf.net - and alias to "www" shorthand
252 * docs/referentials.htm - fix typo.
255 2009-05-23 guidod <guidod@gmx.de>
256 * SDL/Makefile.am - remove dependency on zzip-config (and sdl-config)
257 which do not exist any since quite a time - instead use pkg-config
258 > Thanks to Michael Sterret for bringing it up
259 * SDL/SDL_rwops_zzcat.c: the SDL_rwops example was fixed, as the
260 nmemb/size of the sdl-read call were swapped over. The testsdl
261 self check (based on zzcatsdl) works OK.
262 * SDL/Makefile.am - the targe installation paths for the example
263 was fixed to include/SDL_rwops_zzip - additionally there is now
264 an SDL_rwops_zzip.pc pkgconfig script that will refer to the new
265 location (it had been previously installed in include/SDL, ouch).
266 * Note that the old zzip-sdl pkgconfig-files are gone now. Given that the
267 example was not quite working, it is improbable that anyone had
268 been using them in real code, so there's nothing breaking here.
269 * create a new package SDL_rwops-devel in zziplib.spec that will catch
270 the example code, SDL_rwops_zzip includes and SDL_rwops_zzip pkgconfig
271 * append "make check" and "make test-sdl" to zziplib.spec for minimal
272 pre-installation check.
273 * Makefile.am: fix zzip-postinstall
274 * zziplib.spec: specifiy %version for the Provides:-clauses
275 * configure.ac: do not let autoconfigured LDFLAGS/LIBS bleed into zziplib.pc
276 * zip.c: ensure that the zzip64_trailer entries is being used and that the
277 parse_root_directory function honours the full 64bit in the "entries" counter
278 (rejecting the patch from Tulipánt Gergely which would allow to get away with
279 non-standard zip archives that do use a normal zzip_trailer with a 16bit entries
280 counter that happens to store only the modulo value of the real entries in the
281 archive - zippers should fail beyond 65535 entries or switch to the ZIP64 format).
282 * docs/referentials.htm - include reference to http://www.ogre3d.org/
283 * zzip/fseeko.c: check some more return values from fseeko/fread calls.
286 2009-05-22 guidod <guidod@gmx.de>
287 * docs/Makefile.am: break a dual target into two lines as
288 suggested by ticket:2405440
289 * m4/ax_cflags_no_writable_strings.m4 update with sed-call
290 suggested by ticket:2155649
291 * m4/ax_check_aligned_access_required.m4 update for the cross_compiling
292 case with libpcap-list of host_cpu targets thare require aligned access
293 suggested by ticket:2479788
294 * introduce ax_pax_tar.m4 to use *.tar format for manpages.tar (instead of .ar)
297 2009-05-21 guidod <guidod@gmx.de>
299 * docs/Makefile.am: make install-docs install-man3 rules so that
300 a failing "ar x" (on OpenBSD/vax) will not kill the whole
301 configure / make / make install cycle. However it simply
302 means that there will be no manpages on such platforms.
303 May be OpenBSD/vax has a "gar" (gnu ar) installed somewhere?
304 * closes Patches item #2716806, was opened at 2009-03-27 13:01
307 2009-05-21 guidod <guidod@gmx.de>
308 * zzip/fetch.h: ensure that either direct-bswap or direc-deref is only used
309 on platforms that do not require aligned memory access. The
310 latest report from Sylvain Beucler has shown an error a MIPS
311 platform (named http://www.freedink.org/ running on PSP).
312 * zzip/fetch.h: replace _zzip_attribute(const) with defines from zzip/__hints.h
313 * zzip/__hints.h: introduced ZZIP_GNUC_PACKED for __attribute__((packed))
314 * zzip/format.h: replace _zzip_attribute(packed) with defines from zzip/__hints.h
315 * zzip/conf.h: remove _zzip_attribute - not needed anymore.
317 2008-12-27 guidod <guidod@pc3>
318 * ax_create_pkgconfig_info needs a definition for datarootdir (introduced
319 in latest autoconf/automake making for an error in ogre3d configuration
320 as reported by Ignaz Forster)
323 2008-12-24 guidod <guidod@pc3>
324 * add the dir-zzip-* to the cvs repo (as used on some webs)
325 * move "make rpm" to *.am (instead of *.mk)
326 * amd64 should be in libdir=$prefix/lib64 (in the spec file)
328 2008-11-24 guidod <guidod@pc3>
329 * BuildRequires: python (for %package doc)
332 2008-03-22 guidod <guidod@pc3>
334 * zzip/fetch.h: honor ZZIP_HAVE_ALIGNED_ACCESS_REQUIRED for the Linux bswap
335 optimization. See also 443880@bugs.debian "SIGBUS on Sparc".
337 2008-03-03 guidod <guidod@pc3>
339 * TODO: update to recent problems. Need to check my mail stack next time.
341 2008-03-02 guidod <guidod@pc3>
343 * zzip/info.c: reverted.
344 * also: note that the Makefiles have been update to the newest autotools.
345 The project itself has been imported to an Eclipse based CDT project.
348 * enforce indent by automatic indentic-check
351 * http://www.securitylab.ru/forum/read.php?FID=21&TID=40858&MID=326187
352 zziplib vulnerability due to usage of strcpy
353 * add indent-check for enforcing some source code style.
356 * remake manpages.ar / htmpages.ar - redistribute zziplib-manpages.ar
357 instead while the rebuild mechanics become a lot simpler
358 * unless --maintainer-mode, make mans / install-mans part of the default
361 * applying patches from Mike Frysinger
362 * consider making the manpage install target part of the default
363 `make install` rather than a sep install-man3 target ? (from Mike)
364 * Michael Sterret reports, that the SDL/* example requires zzip-config
365 instead of the pkgconfig stuff - actually, the whole part should be
366 give a makeover as newer SDL does install its own sdl.pc which makes
367 the current local generation of zzip-sdl-config.pc a real mess.
370 * adding docs/zip-php.htm integrating Chris Branch's mail into the docs
371 * appending docs/changes.htm rule from ./ChangeLog
374 * adding docs/notes.htm - to register some old dicussions for later
375 reference. Let's see how that fills up.
378 * last doc/*.py updates
379 * last doc/mksite.* updates
380 * last doc/body.htm updates - including new zzipmmapped.html docu
381 * "make install-sf" will copy the doctree directly to sourceforge
384 * docs/makedocs.py docs/zzipdoc/*.py creates new docs/zziplib-man3.tar.gz
385 plus zziplib.html zzipmmapped.html zzipfseeko.html
386 * that will be the only to be used in the future but it is not complete
389 * updating msvc8 project files
390 * adding zlib.dll to cvs
391 * zzip/memdisk.c:183 overrides for off64_t will not work with off32_t !!!
392 * headers for mktime should return time_t - do we have the header ???
395 * A report by Tuilipant Gergely had shown an "unaligned access"
396 error on an alpha machine. So, I have added macro to test for
397 the condition of aligned access but the alpha platoform seems
398 to be okay. Further reports are required.
399 * Mark README.SDL to be explicitly outdated (it's 16. Dec. 2002)
402 * Yvan Phelizot reports a problem in zzip/mmapped.c
403 * Malcom MacLeod had spurious problems inside a C++ project,
404 so let's update all heraders with explicit 'extern "C"' linkage.
407 * rephrase build system, automated tests, some doc parts
410 * bsd/mac needs sys/types.h for size_t
413 * there have been reports about multithreading problems
414 * one source of problems: access to the dir->cache members.
415 fixed by using an explicit semaphore variable, otherwise
416 just allocate/deallocate the buffer / filehandle
417 * second source of problems: the zip file is opened _and_ read
418 with only one filehandle for multiple threads that
419 share the same "dir" handle. Look for "->currentfp".
420 * that is not fixed away - while access to the cache variables
421 can continue in the case of a "locked" state that is not
422 possible for open/reads. In the "locked" case the thread
423 must be blocked but that is a system-specific call.
424 * there are two ways to fix it - (a) push down the sysfile to
425 each zzip_file by "dup(2)"licating the sysfile handle.
426 However zzip looses a feature that was helping a lot on
427 system with a low number of sysfile hands (e.g. dos and
428 some embedded operating systems that I did work with).
429 and (b) provide an indirect ->lock() call that can be
430 filled by the caller application upon zzip invokation,
431 perhaps add it to the io-plugin structure. Well (c) is
432 it possible to support both styles? Dynamically?
435 * testing on sourceforge compilefarm - including "make check"
436 * there was an error on bsd'ish systems (implicit 64on32)
437 which was caused by archaic CORRECT_ROOTSEEK code
438 being still present. Remove it?
441 * testing with Microsoft Visual Studio 2005 (msvc8) Express Edition
442 * fixing some compilation problems related to zip64 support in win32
445 * cut acinclude.m4 into separated aclocal macros in m4/ subdirectory
448 * testing on sourceforge compilefarm, cleaning away any compiler warnings
449 i386-debian2.2 i386-freebsd4.8
450 amd64-fedora3 alpha-debian3.0
451 sparc-solaris8 powerpc-macos10.2
452 * note, the build system has some quirks but not yet renovated to the
453 newest autoconf/automake stuff anyway - TBD before final release
456 * MSVC7 knows the following __declspec attributes:
457 align(#), allocate("seg"), deprecated, dllexport, dllimport,
458 naked{for asm}, noinline, noreturn, nothrow, novtable,
459 property{MngC++}, selectany{common}, thread{tls}, uuid("name")
460 * introduce zzip__new__ for a restrict'ed return item
461 * introduce zzip_byte_t to help silence down compiler warnings
462 about signedness mismatch in assigning data buffer variables.
463 Especially the zlib data_in happens to be of unsigned char type.
464 * note that zzip/format.h does now use zzip_byte_t for layout definition
467 * adding that _GNU_SOURCE on __linux__ to get the strndup prototype
468 * cleaning a few warning messages on different platforms as well
469 as a bug for 64bit platforms
470 * updating docs/mksite.sh and adding docs/mksite.pl and going to
471 let VERSION be pasted directly instead of a makefile snippet
472 * adding docs/memdisk.htm documentation to the series which is
473 currently quite shallow.
474 * note: no tests for actual zip64 support are made, neither for a
475 large central directory (more than 64K files) nor for large
476 files (more than 2GB). This is all theoretic but I am quite
477 confident that it will work.
480 * change zzip/zip disk_trailer implementation
481 * we do not anymore pass a copy of the file block around
482 * we do use a local helper structure now with off_t fields
483 * the parse_root_directory is now using off_t for all computatations
484 * make check succeeds - beware, this is a new implementation
485 * RANT: glibc bastards make for additinal warning messages, the fseeko
486 prototype is not exported by default, but as soon as we add some
487 define to make it available, some other prototypes are disabled,
488 including one of the most widespread: strndup(). The documentation
489 even says we have to say GNU to get prototype - if you have ever heard
490 of unix to diverge into something not quite but be alike, here it is,
491 what compiles on most platforms gives a warning on linux even that it
492 works fine afterwards because the libc does export all we need and
493 autoconf does find it - it is just not prototyped and that's all.
496 * adding zzip/memdisk.* as cache variant for libzzipfseeko
497 * add macro support for zip64 extensions
498 * extend trailer routines with zip64 detection (and return 0)
502 * remember TODO multithreading tests and hardening the code.
503 http://www.idefense.com/application/poi/display?id=153&type=vulnerabilities
506 * updating to latest autoconf/automake/libtool stuff in Suse92
507 * required a rewrite of ax_enable_builddir.m4 in ac-archive
508 * adding two macros to silence down bogus depracation warnings
509 from the latest gcc 3.3.5
512 * harveyandsu:yahoo:com reported an api mismatch for SDL rwops
513 usage and the implementation in the SDL_rwops_zzip example.
517 * documenting zzip-cryptoid handling
521 * documenting zzipmmapped and zzipfseeko parser libraries
524 * remove bogus zzip_file_open_ext_io from zzip.h
525 * change to use mksite.sh for documentation builds
528 * add link in docs/history.htm to the new appnote.txt whitepaper
529 on zip file format specification.
532 * a test run on solaris did show that fetch.* needs to be linked
533 to the new lib*.la stuff - to convert endianess-dependent
534 values from zip to main memory
535 * there seems to be an automake problem with hpux10 that I can not
536 yet define on what grounds it is - to get away with it I am
537 not defining automake 1.7 as the version to be used, plus
538 autoconf 2.57 - these are pretty new.
541 * zzip/fseeko.c and bins/zzip.c had some issued with non-C99 compilers
542 which do not like variable declarations in the middle of a block
545 * zzip_rewind again - the deflateReset does not reset the
546 input buffer variables (oops) so we have to do it
547 explicitly. Here we adopt to set crestlen to full
548 csize and the current z-buffer fillstate avail_in
549 to null to trigger a new read() on next zzip_read.
550 * the zlib headers do not tell whether next_in/avail_in
551 is used in deflateReset as is done in deflateInit.
552 A question to zlib@gzip.org brought no answer (as
553 is always the case) and after some thinking I did
554 decide to reset avail_in *after* the zReset call.
555 * based on this decision, I have made up a patch and I was
556 sending it over to zlib@gzip.org. Same consequence
557 again, the message is bluntly ignored (while there is
558 traffic on zlib devel mailinglist). There seems to be
559 a major problem about it, either a technical problem
560 (mail-adress disfunctional) or a social problem (no
561 one cares or perhaps some minor racism).
564 * added libzzipfseeko.la with another simplified interface
565 * rename the other one to libzzipmmapped.la
566 * fix bugs for decompression on the latter as well
567 it seems the one has to use inflateInit2 (..., -MAX_WBITS)
568 * added bins/unzzipshow for an example binary
569 * added "--help" and "--version" to all bins examples
572 * added libzzipmmap.la with a simplified interface to zip archives
573 * added bins unzzipdir and unzzipcat to show usage of libzzipmmap.la
574 * introduce zzip/types.h to allow easier inclusion to zzip/mmapped.*
577 * add AC_C_BIGENDIAN and
578 * move out ZZIP_GET to zzip/fetch.h where we also specify access
579 wrappers to items in the zzip/format.h structures, portably.
580 * add byteswap.h ac_check and put a new file autoconf.h to carry
581 compiletime overrides for the autoconf definitions.
582 * start changing over to use zzip/fetch.h definitions everywhere
583 thereby replacing original ZZIP_GET16/32 usages completely.
584 This is localized to zzip/zip.c
585 * rename struct zzip_root_dirent to struct zzip_disk_entry but
586 retain a compatibility declaration.
587 * introduce zzip_version_t and zzip_dostime_t along with an optional
588 ZZIP_NEED_PACKED def that helps with weird compiler struct packing
589 * struct zzip_file_trailer did not use the char[x] variant, it does now
590 * place even more zzip/fetch.h declarations
591 * place even more defs into zzip/format.h
592 * noting CVS area on webpages
595 * Nigel Stewart hints on some MSVC 6 issues, thanks.
598 * implant *Reset instead of Deinit/Init in zzip_rewind - the latter
599 is supposed to make for a memory leak (see problem report).
602 * add zzip_rewind fix by glenn = Glenn Maynard (www.stepmania.com)
603 * fix dirsep_casecmp buglet noted by glenn
604 * glenn did ask for zzip_fstat, and here it is.
605 * but glenn's file_dup is not as easy and skipped here.
606 * otherwise, glenn noted that zziplib is not fully ready for multithreading,
607 the reason seems to be mostly in the reshared 32k buffer where the
608 access is not synchronized completely :-( ... effectivly, in MT
609 all ZZIP_FILE*s need to have a dedicated ZZIP_DIR*buffer.
610 * update make-doc.py with newest version
613 * changing license to dual MPL / LGPL
614 * bumping version code 12.83 = 13.23 which are actually the very
616 * remove a few compatibility headers at install time.
617 * add install-exec-hook to add ln -s aliases for sharedlibs
618 they are being tried again in .spec but that does not
619 matter as long as it is "|| true"
620 * adapt all source to carry the MPL alternative license
621 instead of the old cruft.
622 * remove staticlinking.txt - it should be covered by copying.htm now
623 * remove "compats" disthook as well as the complete subdirectory
624 i.e. rm -r "zziplib/" at top directory (actually, I store it
625 in a distant place for now.)
626 * remove _htmpages.ar and _manpages.are from dist tarball
627 * add toplevel COPYING.LIB
628 * adapt README and TODO
629 * remove ac_output(zziplib and bins/zzip-config)
630 * remove bins/zzip-config.in
631 * adapt m4 macro and call zzip-config to be archaic
632 * remove maintainer-mode for "test.zip"
633 * turn zzip_plugin_io_t into a union reference, the old struct is
634 still of the same name but a member in there called "fd"
635 the typedef is no a "union _zzip_plugin_io" instead.
636 * the member "use_mmap" is renamed to "sys" - we add a #define
637 in plugin.h to let some software compile with all versions
638 * in zzip/zip.c, try now with making maplen and pagesize of type
639 zzip_ssize_t - as it was newly introduce it might help and
640 perhaps be a little conservative in execution. Before that,
641 we did use size_t and it was provoking warnings like
642 comparing/computing signed+unsigned pairs of values.
643 * add "type" and "write" members to zzip_plugin_io, keep it
644 backward compatible as much as possible.
645 * add _zzip_write to zzip/conf.h
646 * remove ZZIP_WRAPWRAP code in plugin.c
647 * remove --with-wrapwrap
648 * introduce a #define _zzip_plugin_io_handlers and
649 typedefs zzip_plugin_io_handlers and zzip_plugin_io_handlers_t
650 * oops toplevel PHONY does not work, an automake restriction
651 * oops, "cat body.htm" should be "cat $(srcdir)/body.htm"
652 * adding manpages.ar again, just to be sure
655 * remove _not_implemend macro definitions for shallow-write api
657 * introduce symbol _ZZIP_WRITE_SOURCE that all files should
658 carry that want to have the declarations of the
660 * use that symbol for zzip/write.c and bins/zzip.c
661 * adding docs/64on32.htm
664 * for the shallow-write api to compile on win32, we need to
665 test for direct.h which only exists on win'sh system
669 * ooops, zzip_strerror_of should check dir != 0
672 * complete zip-write API - no actual implementation so far
673 * tested shallow-write implementation on solaris+linux+win32
674 * and now, call it zzip-12 always
677 * `make docs` does not always work, so we add `make docu` now
679 * fix call for make-doc.py
680 * fix zzip_get16 bad refer that gets detected by make-doc.py
684 * implement zzip/write to a degree that it forwards calls to real
685 files and directories in the system. No zip archives here,
686 but the accession API has been setup so that applications
687 can start to pick it up even for versions of zziplib that
688 have been compiled without zip archive support.
691 * add doc lines in zzip/zzip.h
692 * add write-defines including flag-marker ZZIP_NO_CREAT
693 * add file write.c with empty definitions for write-support
694 * add the make-doc.py script in its last version - and make its output
695 the default master files for both html and docbook
696 * remove all other doc-maker scripts but make-doc.pl and make-doc.py
697 plus the make-dbk.pl of course
698 * twist configure.ac to set PYTHON instead of PHP
701 * make compatibility-headers to issue a warning upon include
704 * fix a segfault with corrupted central directory - just some checks
706 * add a hack to support the fixup-rootdir thing with some simple(r) code
707 that abuses a few fields in the trailer-structure
708 * cvs checkout savannah.gnu.org:config into ../savannah.config and,
709 * add a rule `make configsub` in Makefile.mk to update the two files
710 uses/config.sub and uses/config.guess to the latest versions.
713 * creating a 0.12.82 out of the source for 0.10.82 and make up a rpm
714 spec which does alias the .so files for these generations
717 * the include of _LARGEFILE_SOURCE to do ZZIP_LARGEFILE_RENAME is
718 actually a bad idea - the respective symbol does not provoke
719 64bit off_t on newer platforms. Only _LARGE_FILES seems to
720 be correct here for older aix platform to get them define
721 off_t = 64bit where others are using _FILE_OFFSET_BITS=64 now.
722 * after changes to README, remember to package updated test.zip !!
723 otherwise `make check` will fail.
724 * modify _msvc.sed to include "define ssize_t int"
725 * use ZZIP_EXPORTS instead of ZZIP_DLL for DLL export, that's the
726 automatic way of MSVC 6 saying that "zzip" is a DLL project.
727 * create new msvc6/zzip.dsp and delete msvc6/zziplib_DLL.dsp
728 * all examples shall import from zzip.dll by linking with zzip.lib
729 whereas that other zziplib.lib is just the static library
730 * do a looong and detailed information in README.MSVC6
731 * create a rule to pack the *.dll,*.exe,*lib files into a zip
734 * doc bug in zzip-zip reported by j.scrott.frank
735 * remind me: unzip from memory seems to be more of a task lately...
736 * forgot to modify RELASEINFO in rpm for zzip64 variant
737 * also do not just use -D_LARGEFILE_SOURCE, it does not have the
738 desired effect on all systems. Instead invent a new name
739 -D_ZZIP_LARGEFILE to make it happen magically.
740 * invent a rule to create zziplib64.pc from zziplib.pc for the
741 renamed libzzip.so -> libzzip64.so
742 * invent a rule to create zziplib64.la from zziplib.la for the
743 renamed libzzip.so -> libzzip64.so
744 * do also rename default libzzip.so to libzzip32.so and then create
745 a symlink to it under the old name libzzip.so
746 * create zziplib32.pc and zziplib32.la files accordingly. Following
747 an application may choose explicitly between 32 or 64bit off_t
748 version. This allows us to claim now that the default libzzip.so
749 library may be either of them and not anymore strict 32bit off_t
750 * aaahm, note that all of these account for rules in the linux rpm spec!
751 other system do not get this packaging support from vanilla tarfile
752 * well, better make it lib01 instead of lib0.10 for the rpm name
753 * already roll out visualc7.zip and msvc6 files in subdirectories,
754 do not ship them as .zip files
755 * already adapt msvc6 .dsp files but not yet tested
756 * rename main "rpm" target into "rpm2" to get rid of the warning message
757 * use (cd zzip64 && make install) instead of (... make install-ltLIBRARIES)
758 since otherwise we do not get any .pc file installed (oops)
759 * while modifying *.la into *64.la, take care to fixup reference to the
760 "old archive" *.a as well making it *64.a - same for *32.la file.
761 * some file.c reports there was not previous declaration of some of
762 its functions, but _only_ in 64bit compile step.
763 Reason: looks like a gcc 3.2.2 bug, no fix here.
764 * convert a few "ln -s" into "ln -s -f" in "make install" parts
765 * update README to point out staticlink model
766 in a separated LICENSE section.
769 * add three extra gcc options: -Wpointer-arith, -Wsign-compare, and
770 -Wmissing-declarations which will help about portability to
771 platforms where that is enabled by default in -Wall
772 * sign-compare fix in, zzobfuscated (zzip_size_t -> zzip_ssize_t),
773 * make 5 functions in zzipwrap/wrap.c global=>to=>static
774 * add pre-delcare headers for 2 functions in zzip/zip.c
775 __zzip_find_disk_trailer(), __zzip_parse_root_directory()
776 * rewording of "ends/tail" in find-disk-trailer which does also find
777 a little bug (ends-1 or not) in there, It should not have shown any
778 practical problem so far, also corrected by anotgher little bug
779 in there (ends-tail > sizeof or ends-tail >= sizeof)
780 * adding a parts of a patch from Martin Schitter to harden zziplib
781 for corrupted zip files.
782 * remove a few duplicates in Makefile.mk, still need to keep "rpm"
783 * add declaration for zzip_dir_alloc_ext_io into zzip/lib.h
786 * redefine size_t maplen -> off_t maplen and for each of the calls to
787 mmap()/munmap()/read()/getpagesize() we cast to size_t - this might
788 get us rid of a few warnings about signed/unsigned comparisons.
789 * introduce AC_TYPE_SIZE_T and use the prefixed variant _zzip_size_t
790 within plugin.h for io->read() calls. That makes for a little
791 bit of portability - it seems some platforms (dot-net f.e.)
792 do not `typedef unsigned int size_t;`, perhaps because int is 16bit
793 and a 32bit or even 64bit entity is needed.
794 * now we do not need to AC_COMPILE_CHECK_SIZEOF(size_t) anymore, perhaps
795 even stand io-wrap is not needed anymore. Let's see.
796 * both changes need update of zzip/conf.h for _zzip_size_t plus
797 - plugin.h for io->read(,,size_t)
798 - zzip.h for zzip_file_read (,,size_t)
799 - zzip.h for zzip_read(,,size_t)
800 - zzip.h for zzip_fread(,size_t,size_t,)
801 - zzip.h for zzip_seek(,off_t,)
802 - zzip.h for zzip_tell(,off_t,)
803 - file.h int => size_t for zzip_file's restlen crestlen usize csize
804 * the io->seeks(,off_t,) has not been respected so far sometimes.
805 and like lseek(2), we define the returntype of zzip_seek as off_t
806 * introduce zzip_ssize_t as well, and modify
807 - zzip.h for zzip_read and zzip_fread and zzip_file_read
808 - plugin.h for io->read() return type
809 * dot-net bug in aligned4() - sizeof(long) < sizeof(void*) !!
810 better use off_t in the hope that it does fix it
811 * tested on ia32-linux, alpha64-linux, sparc32-solaris
812 * ooops, we need to update io-plugin examples and documentation as well,
813 since we define a custom _read() routine righ there.
816 * updating to AX_SPEC_DEFAULTS macro
817 * zzshowme does not work with no libzzip installed in the system
818 * add automake option dist-bzip2
819 * use tar.bz2 for rpm build
820 * add dist-bzip for the latter
821 * use zziplib-lib0.10 package which provides zziplib and libzzip0
822 * forgot to add *.la files into the rpm devel package
823 * AC_SET_RELEASEINFO_VERSIONINFO => AX_SET_VERSION_INFO
824 * adjust all RELEASEINFO -> RELEASE_INFO accordingly
825 * and choose 0.10.82.pre1 as a vesion number for testing
826 which is possible now as the new macro does it right.
827 * forgot override of default_includes in test/*.am
828 * somehow ax_prefix gets the wrong input, i.e. _config.h instead of config.h
829 so we make that one explicit now
832 * the off64_t mode renaming for 64on32 was done incorrectly and
833 it lead to problems on solaris8 - fix it.
834 * fixup `make check` to work on subdir build
837 * adapt README file to clarify LICENSE details as suggested by
838 a discussion with ACE/TAO developers that want to use the
839 library for some compressed xml archives.
840 * fix a few zzip_char_t bugs that got visible in MSVC mode as
841 reported by Olge Ryabukha
842 * kill sfnet strand of the rpm build, the docs are installed
843 into the share/groups part and the omf file points to that
844 place. The index.html file is the one at sourceforge while
845 the other one is the entry point of the local documentation.
848 * quite a few updates are need to --enable-builddir by default
849 * watch out: subdir build is the default now!
852 * pick up AX_ENABLE_BUILDDIR
853 * throw out ac_subst CONFIG_ARGS
854 * use AX_SPEC_PACKAGE_VERSION
857 * memory leak in zzip/file.c - adding free(dir->realname) zzip/zip.c
858 in function zzip_dir_close called via zzip_file_close
859 (bug reported by Olge Ryabukha, thanks!)
860 * "/" is hardcoded for finding subpaths but on windows that could be
861 a backslash as well. That should be handled better, we add some
862 alternative implementations for dirsep_strrchr and dirsep_casecmp
863 but the default is OFF!! even on WINDOWS !!
864 * thereby seen another problem: we did deliberately use strcasecmp but
865 this symbol is not available on all unix systems - the manual
866 says its a BSD4.3 addition. Some other systems call it strcmpi
867 or stricmp instead, or they do not have it at all. Here we add
868 a configure rule to check for that symbol, and when we do not
869 have it then we _enable_ dirsep_casecmp automatically.
872 * change extension of intermediate docbookfiles to ".xml"
873 * throw out attempts to compile docs with php
876 * lots of doc updates in between. (forgot to document them).
877 * a zzip-config update, and installing an aclocal macro now.
880 * defattr(root,root) !! - why that had been forgotten? hmmm...
881 * allowing for --disable-debug to clean cflags from -g entries
882 but it has not effect on callframe generation... actually.
885 * we need to stop the manpages.ar bloat - now!
888 * add largefile tests in configure.ac
889 * add largefile detection in zzip/conf.h
890 * add renamings for zzip_telldir/seekdir in zzip/zzip.h
891 * add extra exports in zzip/dir.c to have both 32bit and 64bit names exported
892 i.e. zzip_telldir _and_ zzip_telldir64
893 * add renamings in zzip/plugin.h to ensure that 64bit-off_t-compiled zziplib
894 is not given io-callbacks being from another program that is actually
895 compiled as 32bit-off_t and where therefore arguments do not match.
896 * detected a dubious export of "aligned4()" - rename this export now.
897 * also rename everything having "_io" in the name - just to guard ourselves
898 from the case where two -lzzip are in the libpath and one is
899 compiled 64bit-off_t while the other is not.
900 * rename the younger function s/zzip_open_shared/zzip_open_shared_io/
901 * make up functions for zzip_open_ext_io and zzip_opendir_ext_io for the
902 case of 32/64bit dual systems where lib is compiled in largefile mode.
903 Let the call succeed unless an "io" structure was given - return
904 the EOVERFLOW errno as specified in the large.file WG documents.
905 * make all parallel defines for 32/64 bit dual off_t dependent on
906 defined EOVERFLOW and defined PIC - i.e. only for dynamic linkage.
907 * adding LARGEFILE_CFLAGS into zziplib.pc and bins/zzip-config.in
908 * NOTE: the default for --with-largefile is still OFF !!
909 * NOTE: our zzip_readdir is not depenent on off_t size
910 * adding -64 into the --release info for the sharedlibrary build
911 it should have been a --variant but such does not exist so far
913 * extract AC_SYS_LARGEFILE_SENSITIVE and put it into an extra ac-macro
914 * clean zzip/file.h from compatibility-install as zzip-file.h
915 the structure in there contains zzip_off_t items and they
916 should be internal always anyway - so disallow access for
917 old programs now just to be sure.
918 * adding zzip64 compilation into zziplib.spec - an rpm package will now
919 install both 32bit off_t and 64bit off_t variants of the sharedlib
920 * note: we do not copy 64bit zzcat into the rpm, perhaps we should?
924 * add zzipself.c and zzipsetstub.c for the sfx test
925 * zzip_file_open takes o_modes flags, clarify in zzip.h
928 * adding scrollkeeper omf file generation in docs/
929 * adding omf file installation in docs/make-install-doc
930 * replace %post-doc message in zziplib.spec with scrollkeeper-update call.
931 * need *.pc *.omf in CLEANFILES now
932 * mingw32 crossgcc tests for win32 dirent emulation - did need some fixing
935 * adding generation/installation of pkgconfig files
936 * making SDL a build-requirement for rpm packaging
939 * add compatibility subdirectory "zziplib"
940 * zzipback.sed to create zziplib/* files from current release files
941 * include into distribution tarball
942 * IMPORTANT: flashback - 12.24 is now called 10.74 -
943 the old source line will cease to exist, only the compatibility
944 directory will survive a while - that should put some pressure
945 on developers to update to the new source tree. And it saves me
946 some work to keep two trees in sync.
949 * fix some problems of make-doc.pl with the current project
950 * make a standard inlude info referring to zziplib.h as well
951 * unpack htmpages.ar on SFNET and register it on the frontpage
952 * don't forget to modify includes of internal headers
954 * fixed an annoying bug in make-doc.pl
955 * include htmpages.ar into the tarball
957 2002-12-19 Guido Drhaeim <guidod@gmx.de>
958 * completed new directory structure - the library is called 0.12.22 as
959 to match 0.10.72, it's the same C source in its content
960 * install-headers modified - the new structure is now compatible both
961 as a shared library (binary compatible) and for the include headers
962 too - source compatible not only for function names but also for
964 * 0.12.23 fixes a bug in make doc: the xmlto html was never done.
965 * and we implant make-doc.pl which was founded on the base of the local
966 zzip-doc.pl but has since gone a lot further. It's currently just
967 a third variant but it is now used as the primary master default.
969 2002-12-18 Guido Draheim <guidod@gmx.de>
970 * man page update for zzip_open_shared (it turns out to be a good name).
971 * let frontpage point to http://www.gzip.org/zlib for primary zlib site.
973 2002-12-17 Guido Draheim <guidod@gmx.de>
974 * introduce zzip_open_file that may have an extra argument of a factory
975 file to share the zzip internal directory if that is possible.
976 * introduce zzip_freopen to take an extra argument. The supplied handle
977 is freed unless of course one puts ZZIP_FACTORY into o_modes so
978 that it becomes a wrapper around zzip_open_file
979 * the zzip_open_file, in that case, is the old zzip_open_ext_io call
980 but extended with checking the factory stream for a matching
982 * while being there: introduce ZZIP_ALLOWREAL o_mode that will make it
983 that a real file is open/read/close with the standard posixish
984 routines. This is most useful when having an obfuscated zip
985 file around but during development one wants to sometimes check
986 with a real file - so the call mode is something in the middle
987 of ZZIP_ALLOWREAL - ZZIP_PREFERZIP|ZZIP_ALLOWREAL - ZZIP_ONLYZIP
988 where the middle is for "yet another file not yet included",
989 hmm, perhaps a cheat file? ;-)=)
990 * cleaning rwops example: fix the mode check, it's not needful to start
991 with "r" to be a readfile mode, it may be somewhere in between.
992 * introduced __zzip_dir_parse as a cut off from zzip_dir_fdopen_ext_io,
993 but it did turn out to be not necessary, so it is made static in
994 the end. Still, it works as documenting the control flow better.
996 2002-12-17 Guido Draheim <guidod@gmx.de>
997 * win32 mmap removing extra braces
998 * win32 dirent implementation added - new file __dirent.h
999 and modified zzip-dir.c
1000 * a couple of arg[n] -> argv[argn] cleanups.
1001 * a missing argc > 1 check added.
1002 * all changes due tests / bug reports by Thomas-dot-Eder-at-nmi-AT
1004 2002-12-16 Guido Draheim <guidod@gmx.de>
1005 * the infozip `zip` tool puts out messages per default on some machines
1006 fix by adding >/dev/null in some places of Makefile.am
1007 * the hpux10.20 platform has sys/mman.h but no MAP_FAILED
1008 the `man mmap` says it returnes "-1" as done on all other unix
1009 compatible platforms, so we add a default define ((void*)(-1))
1010 * update TODO file with some hints on test runs.
1011 * add --with-zlib configure call to make it easier to specify a path
1012 * make zlib error messages to point to this configure option.
1013 * beautify error output on all other options as well.
1014 * create `make brute` to make a bruteforce test
1015 * solaris8 make has a problem with $< ... change sometimes into $?
1016 * freebsd/darwin have 64bit off_t by default - and that reveals a problem
1017 in the zzip_telldir/zzip_seekdir code. Let's change the code to make
1018 it return/receive a byte-offset of "dir->hdr" to "dir->hdr0".
1019 This makes printing of those values also more intelligible (if ever).
1020 * ia64-linux reveals a problem in "default_io" since size_t is 64bit.
1021 We modify --with-wrapwrap to autodetect this case. This is okay
1022 since zip-files can not get bigger than 32bit offsets anyway.
1024 2002-12-16 Guido Draheim <guidod@gmx.de>
1025 * merging corrected README.SDL and __hints.h
1026 courtesy of Thomas-dot-Eder-at-nmi-AT
1027 * update CFLAGS ac-macros to the new generation as shipped with
1028 latest ac-archive-0.5.39 (did upload just yesterday...)
1030 2002-12-14 Guido Draheim <guidod@gmx.de>
1031 * many hours of debugging - I don't remember which flaw came in through
1032 the latest changes or which others were there before *sigh*
1033 * e.g. the error-code mappings were refined on linux errno codes
1034 * fix "caseless" bugs reported by Thomas-dot-Eder-at-nmi-AT
1035 * fix MSVC related flaw when taking a casted value as an lvalue
1036 * replace AC_CREATE_PREFIX_CONFIG_H with new style AX_PREFIX_CONFIG_H
1037 * invent zzip-msvc.sed to turn config.h.in into zzip-msvc.in and
1038 finalize a fresh zzip-msvc.h via AX_PREFIX_CONFIG_H
1040 2002-12-13 Guido Draheim <guidod@gmx.de>
1041 * shown by Mike Nordell tamlin-at-algonet-SE we can support win32 mmap
1042 * modify configure.ac : if have:winbase.h then auto -enable-mmap
1043 * refactor mmap'ing - it goes into __mmap.h and uses the io->use_mmap value
1044 and that include file contains both posix and win32 mmap variants
1045 * rewrite pagesize/mapoff calculations - this should be faster in itself
1046 and also easier to maintain in the future for being more obvious.
1047 * rewrite read/write defines and wrapwrap's. The zzip-conf.h does now
1048 contain defines for _zzip_read/_zzip_lseek - and it should us get
1049 rid of the nasty win32 problems with redefining _read/read
1050 * refactor DBG defines - put them into __debug.h - oops, xbuf() was
1051 an exported symbol, better be not. Use only newer NOTE/WARN macros!
1052 * implant __hints.h include - that's taken from another project but it
1053 is so damn useful ;-)
1055 2002-12-12 Guido Draheim <guidod@gmx.de>
1056 * modifizied zzip-zip.c to include a sanity check on getpagesize ()
1057 for mmap () functionality and ZZIP_BUFSIZ (the default is good).
1058 * modify configure.ac : const char strings
1059 * modify configure.ac : strict prototypes
1060 * modify configure.ac : all warnings
1061 * ... and so it reveals something missed along ;-)
1063 2002-08-27 Guido Draheim <guidod@gmx.de>
1064 * modified zzip-stdint.h along the example patch for FreeBSD done
1065 by wjpalentstijn at sourceforge in projet uwadv.
1067 2002-07-24 Guido Draheim <guidod@gmx.de>
1068 * did teach myself php over converting zzip-doc.pl into zzip-doc.php
1069 * added php-test and another way to create the docbook file, with php
1071 2002-07-20 Guido Draheim <guidod@gmx.de>
1072 * lots of fixes around docbook/manpage - and generate a zziplib.3
1073 overview page. Fixes also lots of comments in the sources.
1074 * modified fopen-mode interpration nicely.
1075 * added zzip-api for full overview of the zzip's API
1077 2002-07-19 Guido Draheim <guidod@gmx.de>
1078 * greatly enhanced docbook/manpage generation - including to attach
1079 author and license info from the respective source file header
1081 2002-07-18 Guido Draheim <guidod@gmx.de>
1082 * extended the perlscript to generate zziplib.docbook
1083 * use xmlto to generated manpages.ar
1084 * install-man3 target and push into rpm-devel package
1086 2002-07-17 Guido Draheim <guidod@gmx.de>
1087 * no new code, just doc updates. The perl-script is now capable to
1088 combine _ext_io functions with their non-ext/io cousin, and the
1089 sources have been modified to honour this new mode.
1090 * the perl-script is now ready to spit out other data like docbook
1091 files that we can generate man-pages from later.
1093 2002-07-16 Guido Draheim <guidod@gmx.de>
1094 * extern-C in SDL_rwops_zzip.h ... and ifdef'able DECLSPEC for staticlinking
1095 * zzip_fopen allows to greatly simplify SDL_rwops_zzip.c
1096 * zzxordir.c zzxorcat.c zzxorcopy.c invented
1097 * lots of new documentation added
1098 zzip-extio.html zzip-xor.html zzip-refs.html
1099 * new checks that test the zzxor examples
1100 * and found an zzxor bug in the course
1102 2002-07-15 Guido Draheim <guidod@gmx.de>
1103 * Michael-dot-Fink-at-asamnet-dot-de did some code review while
1104 going after a specialty he wanted to do with the libs, and therefore..
1105 * PREFERZIP did never test real file - stupid bug, inverted logic....
1106 * add ZIPONLY zzipmode - we have plenty of options available... on 32bit
1107 platforms however, since I want to keep with the access-bits in
1110 2002-07-12 Guido Draheim <guidod@gmx.de>
1111 * watcom-c-10.5 project file added
1112 * used my old watcom compiler to debug the win32 problems, and it turned
1113 out to be a mismatch in proccall for zlib - while the default in
1114 zlib.h inferred WINAPI, it turned out that zlib114dll.zip had in
1115 fact been compiled with __syscall procframe callmethod. Duh!!!
1116 * some things had to be rearranged in header files - most classically it
1117 seems that this compiler does not support __inline in C mode.
1119 2002-07-11 Guido Draheim <guidod@gmx.de>
1120 * convert all API const types into those with _zzip_const and use new
1121 types like zzip_char_t and zzip_strings_t throughout the sources.
1122 * add ZZIP_RDONLY and friends. Do not use fcntl bits anymore, and limit
1123 use routines to convert them into O_DEFs later one in the next
1124 version of this lib - here we just declare them to be their O_DEFs
1125 but code should start to pick up ZZIP_DEFs in the meantime.
1126 * add zzip_fopen and friends as another type of magic wrappers.
1127 * modify open_ext_io to use receive separate arguments for the two
1128 zzip extraflags - use these from now on, the others are just
1129 for limited backward compatibility.
1130 * modify all _close functions to return "int".
1132 2002-07-10 Guido Draheim <guidod@gmx.de>
1133 * Marlin Prowell mbp-at-cadalog-inc-dot-com did hit a problem on FreeBSD
1134 showing off a config problem - the configure.ac macro for off_t is
1135 written to be _undefined_ if off_t existed in the system. Instead we
1136 chose to defined zzip_off_t into a "long" as it is needed on win32,
1137 and since FreeBSD on LFP32 uses OFF64 it did fall flat on calls to
1138 lseek - without io-wrap the gcc did cast them correctly, so it worked.
1139 * the fix: use off_t if zzip_off_t undefined. Add a define zzip_off_t into
1140 long in conf-msvc.h. Add a configure-option to have wrappers for the
1141 default lowlevel calls as suggested by Marlin but I choose to have
1142 them off by default - a bsd ports package may start using it.
1143 * there have not been reported problems in the last three months where only
1144 developers knew about the new version. Guess it's time to push this
1145 tarball and announce it on freshmeat.
1147 2002-04-30 Guido Draheim <guidod@gmx.de>
1148 * fix typo in zzip-zip.c: __USE_MMAP -> _USE_MMAP
1149 * if zlib.h not found, make it a fatal exit
1151 2002-04-25 Guido Draheim <guidod@gmx.de>
1152 * adding a few more `make check` rules for bigger zip files
1153 * add even negative tests
1154 * add some spaces in error-messaging in zzdir.c and let return
1155 an exitcode when some argument files could not be read
1157 2002-04-24 Guido Draheim <guidod@gmx.de>
1158 * apply patch from Mike Nordell
1159 changes all "const char * *" into the intended "const char * const *"
1160 changes some typecasts
1161 corrects comment and adds some
1163 * put the updated MSVC6 files into the project, again Mike Nordell
1164 * me, add new zzwrap.dsp to DIST in Makefile.am, following Mike's addition
1165 * me, modify some typecasts to use off_t/size_t where appropriate
1166 * modified COPYING.ZZIP to be a bit more general than just for ZZIPLIB
1167 as noted by Tomi Olilla
1168 * zzipwrap demo_callback, how can we do void* and char* at the same time...
1170 2002-04-23 Guido Draheim <guidod@gmx.de>
1171 * changed ssize_t into int in zzipwrap-mem for portability reasons
1172 * fix zzip_dir_fdopen_ext for access to uninitialized io-vtable
1173 (thanks to Lutz Sammer johns98-at-web-dot-de for testing)
1175 2002-04-22 Guido Draheim <guidod@gmx.de>
1176 * add MSVC6 project files contributed by Mike Nordell tamlin-at-algonet-dot-SE
1177 * add plugin_io-patch from Mike Nordell
1178 and dump the iowrap-patch from Andreas Shiffler from earlier release
1179 * append the Mike Nordell's zzobfuscated.c to Makefile.am
1180 * add a new file COPYING for new less-strictly license
1181 after Tomi Ollila has transferred full copyright to me
1182 * remove Tomi Ollila from all copyright entries in the sources
1183 but honour his name where appropriate
1184 * modify LGPL hints in sources and point to COPYING.ZZIP as well
1185 and change copyright year info
1186 * create COPYING.ZZIP with some general LGPL exceptions.
1187 * use newer AC_CREATE_CONFIG_H macro and start using acinclude.m4
1188 to allow retooling of the project.
1189 * and use zzip_off_t instead of ZZIP_off_t (but keep backward compatibility)
1190 * apply patch for the problem detected and corrected by
1191 Steve Dillon steved-at-phone-IVR-dot-com
1192 * try with an updated ac_create_prefix_config_h due to a bug report by
1193 John W. O'Brien john-at-jugglers-dot.com
1194 where his shell-and-echo combination did interpret \\1 twice.
1195 * add use_mmap flag to plugin_io_t, so the feature can be used
1196 along USE_MMAP configured setups
1197 * change USE_MMAP #ifdefs to use if()s and to rely on the
1198 compiler to do code removal for unreachable code
1199 * remove tell() part of plugin_io and rename seek()-indirection
1200 to seeks()-indirection using a tells()-macro in zzip-file
1201 * also rename s/seek/seeks/ in zzip-zip and kill the (*function)(x)
1202 for the indirection functions into just function(x)-calls
1203 * fix zzobfuscated example code - there's no read() without unistd.h
1204 in unix, and global zzip_install_io had been removed lately.
1205 * add zzipwrap-io.c and zzipwrap.c from Andreas Schiffler's patch
1206 on the new ground of Mike Nordell's plugin_io
1207 * modify zzipwrap sources to work with plugin-io
1208 * add io pointer to dir-structure, and use it as the default for file-structs
1209 * __zzip_open_zip is called __zzip_try_open now and takes two arguments
1210 * typedef struct zzip_plugin_io * zzip_plugin_io_t;
1211 * zzip_opendir_ext_io .. for magic convenience
1212 * create new zzipwrap.la in Makefile.am
1213 * move plugin_io struct from zziplib.h to zzip-io.h
1214 along with its helper functions
1215 * change all filesize into zzip_off_t
1216 * s/zzip_find_disk_trailer/__zzip_find_disk_trailer/ (additional io arg)
1217 * s/zzip_parse_root_directory/__zzip_parse_root_directory/ (ditto)
1219 2001-10-11 Guido Draheim <guidod@gmx.de>
1220 * added zzipwrap feature contributed by Andreas Schiffler
1222 2001-09-18 Guido Draheim <guidod@gmx.de>
1223 * fix bug for `zzip-config --cflags`
1224 which did print /xx/include instead of -I/xx/include
1225 (thanks to Roger Ostrander <denor(at)yahoo.com>)
1226 * change the for-loop in zzip-config - the "for i ; do" is not portable
1227 because I had problems on solaris-sh. Use "$@" which expands
1228 to a list (!!) of argv entries for this for-loop even for
1229 arguments that contain spaces. fascinating.
1230 * use AC_HELP_STRING ... the `configure --help` screen got a bit
1231 misformatted lately.
1232 * add a `make check` rule.
1234 2001-08-19 Guido Draheim <guidod@gmx.de>
1235 * add that /programs magic to the $prefix check in configure.ac
1236 * add that /usr/share magic to the $prefix check in configure.ac
1237 * fix zzip-sdl-rwops.html layout (and copying.zlib link).
1238 * fix some flaws in sdl-rwops example source (just by code review).
1239 * add unistd.h include to zziptest.c to silence off the warning about sleep
1240 * add non-dll compile to extern in zzip-conf.h - does that fix anything?
1242 2001-08-18 Guido Draheim <guidod@gmx.de>
1243 * SDL_rwops_zzip.c/SDL_rwops_zzip.h SDL-example file.
1244 * change all filename args to be const
1245 * add ZZIP_const to zzip-conf.h, but do not use it for now.
1246 It seems that all current lib-users have a modern compiler...
1248 2001-08-16 Guido Draheim <guidod@gmx.de>
1249 * export zzip_dir_free / zzip_dir_alloc
1250 * bring in fileext field to check for multiple fileextensions.
1251 * make zzip_open check for multiple (default) fileextensions.
1252 * add ifdef USE_ZZIPLIKES to implement feature proposed by
1253 Julien Cayzac <deepmind(at)jessica.brainlex.com>
1254 * make zzip_open check along the dirpath for a zip-file
1255 a feature proposed by Lutz Sammer <Johns98(at)web.de>
1257 2001-08-15 Guido Draheim <guidod@gmx.de>
1258 * add "stroustrup" style to all c files to ensure that casual
1259 developers do not trash the layout unintentionally.
1260 * modify examples a bit with more newlines / comments.
1261 * re-license examples to ZLIB license
1262 * include COPYING.ZLIB into doc_FILES
1264 2001-08-10 Guido Draheim <guidod@gmx.de>
1265 * change frontpage of webpages - including a few crosslinks to
1268 2001-08-07 Guido Draheim <guidod@gmx.de>
1269 * split version X.Y.Z into -relese X -version-info Y:Z
1270 * adding --disable-thread-safe, and add -thread-safe linkage by default
1271 * modify releaseinfo for with-debug
1272 * install-zip target to make a windows package
1273 * change serial to _vendor - rpm has never been used for other than linux
1275 2001-08-06 Guido Draheim <guidod@gmx.de>
1276 * reorganize docs, update docs to new style
1277 * split version X.Y.Z into -release X.Y -version-info Z
1279 2001-08-05 Guido Draheim <guidod@gmx.de>
1280 * add zzip-msvc.h, a header file that will be included when
1281 a windows compiler is detected in zzip-conf.h, e.g.
1282 _MSC_VER or __BORLANDC__
1283 * mv index.html zzip-index.html and add makerule that patches
1284 the VERSION in before installing it as index.html
1285 * add a makerule to build sourceforge htdocs and add it
1287 * add generic patches for libtool into configure.ac
1289 2001-07-18 Guido Draheim <guidod@gmx.de>
1290 * check up bugs in automake 1.4beef, now using a rule to
1291 override AUTO* in non-maintainer-mode. we also set
1292 libtool to silent in non-maintainer-mode
1293 * docs are installed to $datadir/doc/$package as default
1294 * rpms can now be built.
1295 * create --with-docdir and let it be filled in rpm-configure
1296 so that docs will end up where rpmopt says it should.
1297 * ChangeLog goes into %doc of rpms.
1298 * uhmm, forgot to install the test*.c files into the docdir
1299 * the bin rpms had not been built
1300 * compress into base and devel package
1301 * errnolist should be static
1303 2001-07-17 Guido Draheim <guidod@gmx.de>
1304 * nuke Makerule system, use plain autotools style including
1305 configure && make install to rebuild
1306 * update Makefile.am (which is new now)
1307 * use next-generation autotools as a basis, update configure.ac
1308 to newer style, update configscreen at the end of file
1309 * check perl in configure and let it default to "echo"
1310 * check HAVE_ defines coming from config.h - it is not anymore
1311 included by zzip-config.h, so each config-def usage
1312 must now use the prefix'd version
1313 * provide a zziplib.spec file
1315 2001-01-05 Guido Draheim <guidod@gmx.de>
1316 * apply zzip_seek-patch from Ted [sourceforge.net/users/tam4]
1319 2001-01-02 Guido Draheim <guidod@gmx.de>
1320 * gone through a couple of trial and error versions until
1321 I finally arrived at a mingw32msvc zzip.dll - basically
1322 I had to update the included libtool files to 1.3.5
1323 and the zzip.dll source-files have a ZZIP_DLL define
1324 before the first include that points to zzip-conf.h -
1325 and there is the magic about dllexport and dllimport.
1326 Hopefully the same can run under MSVC without further
1327 changes to the sources.
1328 * try to package a zip-file that contains the relevant files
1329 from the mingw32msvc install, so that windows user
1330 get a clean dll without the need to compile it.
1333 2001-01-01 Guido Draheim <guidod@gmx.de>
1334 * received a patch for MSVC compatibility from Ted A. (@lehigh.edu)
1335 which made me to look after the project again. There
1336 were two support requrest during summer that asked for
1337 MSVC support, especially a prebuilt dll and headers.
1338 * added AC_PREFIX_CONFIG_H that I made originally for
1339 another project. It enables me to push the configure
1340 detections into a global include/-dir. Ted's patch
1341 used an `IFDEF MSVC DEFINE HAVE_SYS_TYPES_H` which
1342 is a symptom of using config.h&HAVE_CONFIG_H and
1343 zzip-file.h&IFDEF HAVE_xx. Change all header-IFDEF-HAVE
1344 to use IFDEF-ZZIP_HAVE, and install zzip-config.h
1345 along with the other headers, change the original
1346 include"config.h" in zzip-stdint.h and make it rely
1347 on zzip-conf.h - where zzip-conf.h includes zzip-config.h
1348 and lists the detected features to be used, along with most
1349 important extra defs for MSVC compatibility. (!!!)
1350 * added AC_COMPILE_CHECK_SIZEOF (cross-compile clean!)
1351 to always use the correct STDINT defines. Delete
1352 use of glib.h if present, it's not needed anymore.
1353 * use ZZIP_off_t instead of off_t
1354 * prepare for a MSVC' ZZIP.DLL with _zzip_export defines..
1355 -DZZIP_DLL -> declspec(dllexport)
1356 -DHAVE_LIBZZIP -> declspec(dllimport)
1357 * make sure, __attribute__ is okay with non-gcc compilers
1358 and attache packed-attribute to *all* zipformat-structs. The
1359 whole of zzipformat.h is also enclosed in pack-pragmas.
1361 * create zzip-config.in and install it.
1362 * mingw32msvc has shown that we need -lz on the command-line
1363 to resolve a few symbols
1365 * install zzip-config along
1366 * mingw32msvc does not build with cross-make.sh as seen on
1367 http://libsdl.org/Xmingw32 - it needs the cross-tool/lib
1368 just as well. There we have LDLIBADD in Makefile.mk now.
1369 Now everything works for making win32 target with cross-tools.
1370 * The rest of the make-struture should ensure to be able to
1371 create an MSVC nmake Makefile - the Makerule.am is clean and
1372 can be directly included... hopefully.
1376 2000-06-03 Guido Draheim <guidod@gmx.de>
1377 * Tomi did a final test round for solaris, oh well,
1378 configure needs some fixes...
1379 * checking for myself at the university's solaris2.6 with
1380 gcc-2.95.2, hmm... there's an sys/int_types.h that
1381 seems to define some of C9X int-types, put it into
1382 the configure.in and know about it in zzip-stdint.h
1383 (btw, glibc seems to have include/inttypes.h that
1385 * tomi did report a problem with gcc 2.7.2... probably
1387 * release 0.10.6 and going to announce it...
1389 2000-05-31 Guido Draheim <guidod@gmx.de>
1390 * created the main doc html files, index.html, zzip-zip.html
1391 and zzip-file.html. the README and README.API is deleted,
1392 and the TODO is a bit updated.
1393 * This version is meant to be announced very soon now.
1394 * release 0.10.5 and contact Tomi for his final nod.
1396 2000-05-31 Guido Draheim <guidod@gmx.de>
1397 * ifdef HAVE_SYS_STAT_H where stat is used. Removed
1398 the stats from zzip-file.h - it will now just try
1399 to open the file or zip-file and assume that
1400 open(2) will fail if the file is not there. I do
1401 hereby assume that the returned fd is seekable..
1402 * two new functions, zzip_dir_real and zzip_file_real
1403 to check if the ZZIP_XX structures are wrapping a
1404 real file or directory. Otherwise it is a zip-archive
1405 or a zip-contained file respectively.
1406 * zzip_compr_str does now know about stat-types and
1407 will return names for S_ISTYPE bits.
1408 * remove zzip_fd. It was identical to zzip_dirfd
1409 whose name is consistent with dirent.h
1410 * zzip_stat -> zzip_dir_stat since it does not neither
1411 return a stat structure nor does it use stat(2)
1412 * Checking the doc-comments
1414 2000-05-30 Guido Draheim <guidod@gmx.de>
1415 * zzip_fp -> zzip_file and _fp_ functions to _file_
1416 * zzip-stdint.h to ensure iso c9x typedefs
1417 * ZZIP_GET16/32 macros in zzip.h header.
1418 * minor updates in cosmetics and documentation
1419 * have full replacements for dirent.h functions,
1420 the zip-specific functions are now called
1421 zip_dir_open (and more alike). The zzdir can
1422 now show a list of files in a real directory,
1423 or magically the files contained in a zip-arch.
1426 2000-05-29 Guido Draheim <guidod@gmx.de>
1427 * zzipmain -> zziptest and some cleanups
1428 in the Makefile. zziptest is now just
1429 another test program, so it gets compiled
1430 in full similarity with zzcat and zzdir.
1431 * removed zziptest from install-bin
1432 * the long forgotten simplicistic dependency
1433 rule is now in here too.
1434 * cosmetics to pointer declar' stars in
1436 * ZZIP_FP -> ZZIP_FILE and
1437 zzip-fp.h -> zzip-file.h
1438 * removed the use of zzip.h where suggested
1439 by Tomi. (use public zziplib.h instead)
1440 * removed errno.h from zziplib.h
1441 * printing configuration at end of configure.
1442 * add install-includeHEADERS rule, so that
1443 zziplib.h does now get installed.
1446 2000-05-27 Guido Draheim <guidod@gmx.de>
1447 * zzipformat.h carries information about the
1448 zip-file structure. The typedefs are now
1449 used to access members of the zip-archive
1450 (instead of using the offsets directly).
1451 * notice that the members are declared
1452 bytewise due to compiler semantics that is
1453 making a structure packed&aligned to the
1454 greatest common size (which would be 4).
1455 setting as attribute(packed) is not very
1457 * reworked the files, esp. zzip-zip.c and
1459 * _USE_MMAP in autoconf, including option
1460 and CFLAGS setting. instead of open/read
1461 to a scan buffer the zip-file is mmapped
1462 and scanned directly.
1463 * _LOWSTK in autoconf, including option and
1464 a CFLAGS setting. Still need a scan buffer
1465 and this flag tells us not to carve the
1466 scan buffer from the auto-stack and use
1467 instead some malloc for the scan buffer.
1468 * DEBUG in autoconf, including option and
1469 a CFLAGS setting. The macros should now
1470 be able to be found everyone and only.
1471 * revamped EDH find routine, dumped old-style.
1472 * revamped read-EDH to use mmap and to use
1473 copy/read only for the parts we need. The
1474 read-EDH buffer is not limited to 32K
1475 anymore and can have any length. No realloc
1477 * opendir does not allocate the cache.buf32k
1478 anymore - it does have no need for it. the
1479 buffer is still cached for subsequent Open
1480 calls. May want to setvbuf later.
1481 * a few renamings to be more bits/dirent.h-like,
1482 so many things are now called d_name and
1483 d_reclen instead of name or next as before.
1484 * renamed the package to "zziplib" as being
1488 2000-05-26 Guido Draheim <guidod@gmx.de>
1489 * -release at link-line for the lib
1490 * zzcat.c as a test program, which uncovered
1492 * a flaw w/_fd_opendir when being given a
1493 non-inited err-return-variable and no
1495 * the error to errno table was incomplete,
1496 and the ZZIP_INFLATE error is superfluous.
1497 * zzdir.c as a test program, needs still to
1498 be given the full zip-arch name.
1499 * changed member names of zzip_dirent to
1500 match similar names in dirent and stat,
1501 (ie. d_name and st_size) and added furthermore
1502 a z_size that returns the compressed size.
1503 * little updates to names and comments.
1506 2000-05-22 Guido Draheim <guidod@gmx.de>
1507 * merge with zip08x-0.9.6 - actually just
1508 a bugfix for zzip_fp_open IGNOREPATH -
1509 I even applied it in a different way than
1511 * bugfixes for zzip_open, it did not always
1512 set errno(2) to the value of zzip_errno.
1513 * The zzip_read is now separate from
1514 zzip_fp_read, so that setting errno(2) is
1515 only done in zzip_read, not in the zzip-touching
1517 * zzip-doc.pl to generate libzzip.html
1520 2000-05-21 Guido Draheim <guidod@gmx.de>
1521 * drop-in replacements ready for daily use,
1522 just use zzip_open with a normal path to
1523 a fs file. If that file is not found in
1524 a normal fs directory, then the path is
1525 splitted into a basepath and a filename,
1526 a ".zip" is appended to the basepath to
1527 form a zip-arch name, and the filename
1528 is then searched inside the zip-arch if
1529 that one exists. Very nice for distribution
1530 of a subdirectory full of scripts and that
1531 is what it is meant for - the PFE will be
1532 able to use this one for Forth-files.
1533 * have a VERSION file containing "0.10.0" and
1534 add some rules to Mk-rules
1535 * start with in-source docs that will be used
1536 for documenting the lib calls. A jdoc like
1537 doc extractor should be able to grok these,
1538 I'll see to release docs with the next
1539 release, but this time...
1540 * make it release 0.10.0 and upload it to
1541 pfe.sourceforge.net/pub where it will lurk
1542 around until I contacted Tomi. He seems to
1543 be currently working on zip08x
1545 2000-05-17 Guido Draheim <guidod@gmx.de>
1546 * decided to have it actually called zzip_ and so
1547 all of the stuff is going to get renamed again.
1549 2000-05-16 Guido Draheim <guidod@gmx.de>
1550 * obtained Tomi's code and made changes so that the
1551 resulting library is more portable, esp. the glib
1552 usage is being abolished. The name of the library
1553 (and package) has been renamed to libunzip and
1554 all types, consts and funcs to now carry the unzip_
1557 * drop-in functions that can be made to easily replace
1558 dirent and filefd functions.
1561 Mon Apr 5 11:23:46 2000 Tomi Ollila (too@iki.fi)
1565 * Made some tiny modifications after Matthew's code.
1567 Sun Apr 4 8:30:00 2000 Matthew D. Campbell (matt@campbellhome.dhs.org)
1569 * Cleaned up compile warnings in SuSE Linux
1571 * Cleaned up code for cross-compilation with Xmingw32
1573 * Modified zipx.h to support linking to C++ apps
1575 Wed Jul 28 11:23:46 1999 Tomi Ollila (too@iki.fi)
1579 * Fixed support for simultaneous open files with each
1582 Thu Jul 22 11:57:46 1999 Tomi Ollila (too@iki.fi)
1586 * Added premilinary README.API.
1588 Sat Jul 10 11:49:58 1999 Tomi Ollila (too@iki.fi)
1592 * Fixed code to read start-of-file offset from local header
1593 instead relying directory info is sufficient (were TOO naive
1594 about that, the first user reported this library won't work
1597 Sun Jun 13 20:40:11 1999 Tomi Ollila (too@iki.fi)
1599 * Initial release (0.9.1).