------------------------- August 7th 1996 version 2.2a ------------------
 1. QDOS port (Jonathan Hudson)
 2. win32 volumelabel handling (Paul)
 3. VM/CMS clean up (Greg Hartwig)
 4. leading "../" in internal filenames are allowed (Paul)
 5. System V packages support (John Bush)
 6. Fix handling of atx in zipup() (Onno, Greg)
 7. Fixed typo that caused zip -R to dump core (Onno)
 8. msdos/makefile.dj2: fix for command line too long when linking zip.exe
 9. win95 long filename support with djgpp v2 (Onno, Kimio Itoh)
------------------------- August 9th 1996 version 2.2b ------------------
 1. windll: use wiz instead of wizip (Mike)
 2. use z->name NOT z->zname to open files (Onno, Mike)
------------------------ September 1st 1996 version 2.2c ------------------
 1. windll: use fprintf instead of putc to send data to std{out,err} (Mike)
 2. os2: make borlandc version detection equal to unzip 5.30d (Kai Uwe)
 3. use #elif constructions for msdos,os2 and win32 compiler detection (Onno)
 4. fix for incorrect free in zip.c (Onno, Mike, Steve)
 5. BeBox port from Chris
 6. unix/{configure,Makefile} fixes for SCO Xenix 286 (Tom Schmidt)
 7. remove zilog entry from unix/Makefile (Onno)
 8. man page fixes (Tom Schmidt)
 9. SCO ODT {3,5} fixes (Bill Davidsen)
------------------------ October 8th 1996 version 2.2d ------------------
 1. Fix bug in QDOS patch that broke zipsplit.c (Onno, Paul)
 2. Fix a couple of warnings from BorlandC (Mike)
 3. msdos/makefile.wat: Delete some more files when cleaning up (Paul)
 4. store msdos volumelabels without a dot in them (Paul)
 5. clean up of unix/{Makefile,configure,packaging} (Tom Schmidt)
 6. make QDOS port case independent (Jonathan Hudson)
 7. new amiga SASC makefile (Walter Haidinger)
 8. don't truncate filenames in win32's in2ex() (Paul)
 9. os2/makefile.os2 update for emx 0.9c (Kai Uwe)
10. password() function for QDOS (Jonathan)
11. fix the last(?) free() related bug (Mike)
12. win32: security descriptors operations (Scott Field)
13. win32: FILE_SHARE_DELETE is not defined in some win32 compilers (Onno)
14. win32: fix makefile.wat to include nt.c (Onno)
------------------------ January 17th 1997 version 2.2e ------------------
 1. define USE_CASE_MAP in osdep.h for those ports that need it (Onno)
 2. define PROCNAME in osdep.h for those ports that need it (Onno)
 3. wild() prototype decl only if PROCNAME defined => delete MSVMS define (Onno)
 4. add DOS EMX makefile (E-Yen Tan)
 5. include <qdos.h> a little earlier in qdos/qdos.c (Jonathan)
 6. add ttyio.o to OBJZ in qdos/Makefile.qdos (Jonathan)
 7. remove unused fprintebc define from zip.c (Onno)
 8. use the right password routine in ttyio.c for unzip (Mike)
 9. BeOS update from Chris
10. Fix for 'zip -r foo x:' (Paul)
11. Fix library bug on beos (Chris)
12. Fix calculating version number (kitoh_@mix.or.jp, Walter Haidinger)
13. IsWinNT always returned TRUE (Mike)
14. Windll update from Mike
15. Improved crc routines for x86 from Scott Field
16. Detect in unix/configure if we can use crc_i386.S (Onno)
17. Fix spurious internal logic error (Paul)
18. Fix to include directory names on the Acorn when needed (Sergio)
19. include zip.h in mvs.h (Onno, George Carr)
20. add workaround for AZTEC C compiler bug to revision.h (Paul, Walter)
21. MVS doesn't have rmdir (George Carr)
22. define and use USE_ZIPMAIN for WINDLL en VM_CMS (Onno)
23. Fixes from Greg Hartwig to make CMS standalone versions possible.
24. Move OS specific encryption stuff to the os specific directories (Christian)
25. Change password fetching interface in ttyio and crypt (Christian)
26. Update emx support for 0.9c (Christian)
27. Define WINDLL instead of MSWIN (Christian)
28. Extended time stamp extra field format support (Christian)
29. Support for rsxnt-emx 0.9c win32 compiler (Christian)
30. Use izshr017b (Christian)
------------------------ March 11th 1997 version 2.2f ------------------
 1. Move makefile.emx, rsxwinnt.h and zip.def to win32 subdir (Kai Uwe)
 2. Add win32 target to makefile.os2 to allow cross compilation (Kai Uwe)
 3. Fix NTSD_EAS link time failures with win32 (Paul)
 4. Fix buffer freed too early in password verification code (Mike)
 5. Remove unix/zipgrep and man/zipgrep.1 (sanvila@ctv.es)
 6. Only use crc_i386.o when we're using an x86 (Onno, Mark)
 7. Remove carriage returns from amiga/crc_68.a (Paul)
 8. New windll from Mike
 9. Fix typo in os2/os2zip.c (Kai Uwe)
10. Don't use ctime (last file status change) for unix and qdos cross compile
    (Greg)
11. added gccwin32 crosscompilation target (RSXNT) to os2/makefile.os2 (Kai Uwe)
12. fixed the OS/2 file attribute and time stamp generation for zipping
    stdin ("-") (Kai Uwe)
13. fixed the atime and ctime stat fields for the OS/2 Watcom C library
    (Kai Uwe)
14. added atime and ctime support for the UT extra field when generated under
    OS/2, the atime and ctime values are only stored when zipping (Kai Uwe)
15. qdos patches from Jonathan Hudson mainly for extended time flag handling
16. amiga aztec compiler bug workaround (Paul)
17. fix -v output of zipcloak, zipnote and zipsplit (Paul)
18. new amiga/makefile.azt with targets for debug versions (Paul)
------------------------ March 31st 1997 version 2.2g ------------------
 1. remove -I/usr/local/include from unix/Makefile (Chris)
 2. Update versinfolines in revision.h (Greg)
 3. change 1U to 0x1 to accomodate non ANSI compilers (Onno, Rodney Brown)
 4. win32zip.c: cast buffer parameter in memcompress() to char * (Mike)
 5. remove beos/zipgrep (Chris)
 6. correct the -e password verification check in zip.c (Christian)
 7. use ZCONST instead of const in the generic code. (Christian)
 8. fix mktime timezone correction when time is near to daylight/nodaylight
    switch points. (Christian)
 9. correct dependencies in makefile.os2 (Christian)
10. use a more sensible default for iztime.ctime than "0" when system does not
    not support creation time stamps. (Christian)
11. fix VMS_PK_EXTRA function interface declarations. (Christian)
12. implement atime/ctime support in win32. (Christian)
13. win32/win32.c: replacement getch() for Watcom. (Paul)
14. win32/makefile.wat: debug object files kept separate. (Paul)
15. msdos/makefile.wat: debug object files kept separate. (Paul)
16. Fix extended time defines for the acorn. (Sergio)
17. Define PROCNAME() in acorn/osdep.h (Sergio)
18. Ignore exit status of ${INSTALL_D} in unix/Makefile (Chris)
19. Add Metroworks and BEOS info to version() in several files (Chris)
20. Move defines for the password fetch to zip.h (Christian)
21. Support the obsolete version rsxnt 1.1 / emx 0.9b (Christian)
22. Remove obsolete "#define PROCNAME ..." from cmsmvs/cmsmvs.h (Christian)
23. Fix extended time defines for qdos (Jonathan Hudson)
24. Use watcom getch() from unz530q in win32/win32.c (Onno)
25. Don't install zipgrep via the unix package tools (John Bush)
26. use izshr021 (Onno)
27. Fix zipnote: use iname not zname in zipnote.c (Onno)
28. Create proginfo directory (Christian)
------------------------ May 5th 1997 version 2.2h --------------------
 1. Fix vms/zipup.h: iztime --> iztimes  (Onno, Mike Freeman)
 2. Remove windll/wizdll.def (Mike)
 3. Add a couple of external variable declaration to windll.h (Mike)
 4. Remove zipgrep from install in unix/Makefile (Onno)
 5. Make updating .zip files with extended time fields possible (Kai Uwe)
 6. Delete beos/Makefile.gcc, beos/Makefiles handles both compilers (Chris)
 7. Fixes for unused variables (Chris)
 8. Added very simplistic example how to load and call the windll (Mike)
 9. Updated windll documentation to note this example (Mike)
10. Removed an unused memeber of a structure in windll (Mike)
11. Add BUGS instead of infozip.who and algorith.doc with the packaging
    tools (John Bush)
12. tailor.h: increment NUM_HOSTS to keep in sync with UnZip (Christian)
13. win32/osdep.h: remove NO_SECURE_TESTS define (Christian)
14. zip.h: add declaration for free_crc_table() (Christian)
15. windll: move everything that's not windows specific into api.* (Mike)
16. use iname when checking for directory names in zipfile.c (Sergio)
17. improved mktime.c with better error checking (Christian)
18. improved crc routines (Christian, Rodney Brown)
19. get the -z option working again (Onno, Brad Clarke)
20. define BROKEN_FSEEK and seekable() for those systems where fseek()
    always returns 0 (== OK) (Onno, Jeffrey Altman)
------------------------ May 10th 1997 version 2.2i --------------------
 1. win32's seekable should only check for FILE_TYPE_DISK (Onno, Jeffrey Altman)
 2. add (ulg) cast to zipbeg = ~0 in zipfile.c (Steve)
 3. seekable() *really* belongs in flush_block, keep it there (Onno)
 4. seekable() calls fseekable(FILE *) (Onno)
 5. define HAVE_FSEEKABLE if a port has their own fseekable (Onno)
 6. WatCom doesn't have _get_osfhandle, use _os_handle instead (Paul)
 7. upgrade to Mike's latest windll sources (Mike)
 8. add -P option so you can specify a password on the commandline (Onno)
 9. Get -@ working again (Onno)
10. emx+RSXNT doesn't know about _get_osfhandle() (Kai Uwe)
11. fix a couple of typos in the OS/2 makefiles (Kai Uwe)
12. fix initialization bug in windll code (Mike)
13. tweak deletedir for RISC OS (Sergio)
14. RISCOS doesn't know about fstat() (Sergio)
15. Remove acorn/acorn (Sergio)
16. Delete debugging statements from version_local() in msdos.c (Greg)
17. Fix huge bug in readzipfile() (Onno)
------------------------ May 18th 1997 version 2.2j --------------------
 1. Add missing ';' after return ZE_PARMS in zip.c (Mike)
 2. Remove obsolete 'struct stat st' in zipfile.c (Onno)
 3. Get Amiga SFX handling working again (Paul)
 4. Get zip -A working again (Onno)
 5. Change an && to & in zipfile.c (Johnny)
 6. Fix handling of empty sfx archives (Onno, Mike)
 7. Remove experimental entries from the makefiles (Jean-loup)
 8. Add exit codes to the manual page (Onno)
 9. Remove lines from the help screen that contain lesser used options (Onno)
------------------------ June 8th 1997 version 2.2k --------------------
 1. use zip -t ddmmyyyy for year 2000 stuff (Greg)
 2. zip -@ only handles ONE filename per line (Jean-loup)
 3. beos support for DR9 filesystem and symlinks (Chris)
 4. VB support for windll (Mike)
------------------------ June 10th 1997 version 2.2l -------------------
 1. beos filetype support (Chris)
 2. fill the buffer in getnam() to get it working again (Onno)
 3. implement -x@filename and -i@filename (Onno)
------------------------ June 22nd 1997 version 2.2m -------------------
 1. Add a ; after de nextarg label in main() (Onno, Erik Baatz)
 2. Initialize p to NULL in get_filters() (Onno, Frank Donahoe)
 3. Fix typo in first if statement in filetypes() (Johnny Lee)
 4. zip -A works again (Onno, Greg)
 5. don't free zipbuf for VMS and CMS_MVS in main() (Onno, Mike Freeman)
 6. fix make_zip.com, link_zip.com and vmsdefs.h for gcc 2.6.3 on VMS (Onno)
 7. clarify -g option in the man page (Jean-loup)
------------------------ July 6th 1997 version 2.2n -------------------
 1. use local in readzipfile2() declaration (Onno, Mike Freeman)
 2. return values with windll in get_filters() (Mike)
 3. a couple of minor patches for BEOS (Chris)
 4. zip -g works again (Onno, Chris)
 5. Some more Visual Basic dll support (Mike)
 6. Fix stack overflow in readzipfile() for DOS (Onno, Michael Mauch)
------------------------ August 19th 1997 version 2.2o -------------------
 1. beos README and Makefile tweaks from Chris.
 2. Syntax corrections for README and man/zip.1  (Frank Donahoe)
 3. Use name not iname when deleting directories in trash() (Christian)
 4. change several wkuvx1 to lists in e-mail addresses (Christian)
 5. default to PK style extra fields for VMS (Christian)
 6. use izshr023 (Christian)
 7. replace buggy time library functions (Walter Haidinger, Paul, Christian)
 8. in2ex() and stat() are needed also when UTIL isn't defined (Greg Hartwig)
 9. don't use type=record in fopen() for MVS and CMS (Greg Hartwig)
10. Change P and K literals to hex for EBCDIC systems (Greg Hartwig)
11. Add output path support for CMS and MVS (Greg Hartwig)
12. Add memtoasc and memtoebc for EBCDIC systems (Greg Hartwig)
13. Handle comments correctly to fix zipnote for CMS and MVS (Greg Hartwig)
14. Add -tt option (do not operate on files after date mmddyy) (Christian)
15. move alloc routines for DOS into the !UTIL block (Christian)
16. move UTIL blocks and version_local() functions to a more logical place
    (Christian)
17. Handle -P, -R, -x@, -i@ and -tt for the VMS CLI (Christian)
18. Update VMS help file with the new options (Christian)
19. Use iname in MATCH, not zname (Jonathan Hudson)
20. windll: more Visual Basic support (Mike)
21. windll: more project makefiles (Mike)
22. windll: insert Zip in front of global variable names (Mike)
------------------------ August 25th 1997 version 2.2p -------------------
 1. Remove unused flags from LFLAGS2 in unix/Makefile (Onno)
 2. SunOS make bug: change unix_.o rule in unix/Makefile (Onno, Mike Freeman)
 3. ZipIsWinNT() instead of IsWinNT() in zip.h (Mike)
 4. Fix -t and -tt behaviour for windll (Mike)
 5. Remove windll makefiles that are now elsewhere (Mike)
 6. BEOS: preserve file attributes associated with symbolic links (Chris)
 7. No need to use in2ex() for ziputils (Christian)
 8. Fix comment handling for EBCDIC systems (Christian)
 9. EBCDIC conversion for entry names read from zipfile in UTIL mode (Christian)
10. Fix "fatal" error messages on EBCDIC systems (Christian)
11. zipnote.c: Fix handling of entry name changes for EBCDIC systems (Christian)
12. removed a large part of "dead" code from ziputils version (Christian)
13. use z->iname in comparison functions for sorting (Christian)
14. new installation utils for the acorn (Sergio)
15. use LSSTAT in set_extra_field for unix and beos (Onno)
16. perror(z->zname) instead of perror("zip warning") (Onno, Geoff Pennington)
17. Amiga SFX should work again (Paul)
18. refer to zip22 in install.doc (Frank Donahoe)
------------------------ September 10th 1997 version 2.2q -------------------
 1. Change .doc to .txt, these aren't MS-Word documents (John D. Mitchell)
 2. Change msdos$_(OBJ) to msdos_$(OBJ) (Kai Uwe)
 3. Fix a couple of amiga related glitches (Paul)
 4. Support for DOS packed .exe files in makefile.dj2 (Frank Donahoe)
 5. Change warning message for zip -A (Greg)
------------------------ September 29th 1997 version 2.2r -------------------
 1. Fix make svr4package (Eric Baatz)
 2. Fix VMS warning (Mike Freeman, Christian)
 3. Clean up beos gcc port and beos README (Chris)
-------------------------- October 6th 1997 version 2.2s --------------------
 1. Change lpPrint to lpZipPrint for windll (Mike)
 2. Change lpPassword to lpZipPassword for windll (Mike)
 3. Amiga timezone fixes (Paul)
 4. WatCom C 11.0 makefile fixes (Paul)
 5. Tandem port from Dave Smith
 6. Corrections and updates for install.txt (Christian)
 7. Minor VMS README update (Christian)
-------------------------- October 12th 1997 version 2.2t --------------------
 1. qdos compiler bug workaround (Jonathan)
 2. prevent storing qdos specific filenames that exceed filesystem limits
    (Jonathan)
 3. fix undelimited comment in fileio.c (Frank Donahoe)
 4. disable storing of symlinks in BEOS until OS support is available (Chris)
 5. Init hash_head to 0 in amiga/deflate.a (Paul)
 6. Upgrade to izshr025 (Christian)
 7. don't add ".zip" to ZIP name for TANDEM (Dave Smith)
 8. use zipup.h not tandem.h in zipup.c (Dave Smith)
 9. rename history to CHANGES (Onno)
10. rename install.txt to INSTALL (Onno)
11. rename zip.txt to ZIPMAN (Onno)
12. create WHATSNEW (Onno)
-------------------------- October 15th 1997 version 2.2u --------------------
 1. Use Info-ZIP instead of Info-Zip (Christian)
 2. Note recent filename changes in several files (Christian)
 3. Remove a couple of items from the TODO list (Christian, Onno)
 4. Add windll port, zip -t yyyymmdd and zip -R to WHATSNEW (Christian)
 5. VMS documentation cleanups and clarifications (Christian)
 6. dist entry in unix/Makefile (Onno)
 7. remove duplicate amiga/timezone.txt (Christian)
 8. rename ZIPMAN to MANUAL and update a couple of files regarding this (Onno)
-------------------------- October 24th 1997 version 2.2v --------------------
 1. izshr026: in WHERE wiz40 instead of wiz30 (Christian)
 2. izshr026: another couple of Info-ZIP spelling fixes (Christian)
 3. Remove zipgrep from the makefiles that still had it (Christian)
 4. Update makefiles to handle the MANUAL renaming change (Christian)
 5. Fix the last daylight savings bug on the Amiga (Paul)
 6. Fix the SCO Unix specialty detection in unix/configure (Onno,
    bug reported by Bo Kullmar for Solaris 2.6 and with uname -X output
    for SCO Unix from ken@apisys.com and dgsmith@vnet.ibm.com)
 7. Update WHERE and amiga/time_lib.c from unzip 5.32g (Greg)
-------------------------- October 26th 1997 version 2.2w --------------------
 1. Additional +Onolimit check in unix/configure (Onno, Peter Jones)
 2. Use ZIPERR macro instead of ziperr (Christian)
 3. initialize z->lflg for zip entries without extra field (Christian)
 4. "local (+ locextend)" vs. "central" header consistency check (Christian)
 5. Override local header values with central header values with -A
    and differences between these headers (Christain)
 6. made "deltaoff" signed long; offset adjustment may be negative (Christian)
 7. fix a number of "wild" deallocation bugs (Christian)
 8. When zipping from a FAT drive (only 8.3 DOS names) under OS/2 or
    WIN32, set z->vem to "OS_DOS | <real zip version number>".
    Mark as "made by DOS PKZIP 2.0" only when dosify was requested. (Christian)
 9. DOS port should not store fake unix style external attributes. (Christian)
10. amiga/time_lib.c from izshr028 (Christian)
-------------------------- October 31st 1997 version 2.2y --------------------
 1. amiga/time_lib.c from izshr029 (Christian)
 2. Turbo C++ version code clarification (E-Yen Tan)
 3. Fix spelling in cmsvms/zipname.conven (Rodney Brown)
 4. Fix memset check in unix/configure for Unixware 2.1.1 (Rodney Brown)
 5. Forward declaration fixes for HP-UX bundled compiler (Rodney Brown)
-------------------------- November 3rd 1997 version 2.2 --------------------
 1. Update WHERE (Greg).
-------------------------- January 4th 1998 version 2.21a -------------------
 1. BSD friendly version of version_local() in unix/unix.c (Onno)
 2. No NT versions in DOS version_local() (Steve Salisbury)
 3. -t mmddyyyy instead of -t ddmmyyyy in WHATSNEW (Walter Haidinger)
 4. use generic fseekable() for rsxnt (Christian)
 5. Fix MSC 8.x warnings (Christian, Steve Salisbury)
 6. win32 Borland C++ makefile (E-Yen Tan)
 7. Tandem doesn't know about extensions like .zip,.arj, ... (Dave Smith)
 8. Use dosmatch for EMX and DJGPP too (Christian)
 9. dummy djgpp startup functions to remove command line globbing and
    recognition of environment variables from djgpp.env (Christian)
10. include DJGPP_MINOR in DOS version_local() (Christian)
11. TC 2.0 doesn't have mktime() (Christian, mmp@earthling.net)
12. VMS: rename opendir() to zopendir() so avoiding name clash with
    VMS 7.x POSIX libraries (Christian, Martin Zinser)
13. Add support for VMS DEC C V 5.6 features (Christian)
14. Use iname for comparison in check_dup (Christian Spieler, Christian Michel)
15. Fix access to uninitialized ioctx records in vms_get_attributes()
    Christian, Robert Nielsen)
16. Parenthesis around MAX_MATCH>>1 in match.S (Greg)
17. Use strchr() not strrchr() for -i and -x to get -i@ and -x@ really
    working (Onno, Kai Uwe)
18. add chmod statements to unix/Makefile (Quentin Barnes)
19. Windll: handle both -r and -R (Mike)
20. Windll: general error handler in main() via setjmp/longjmp (Mike)
21. Don't allow zip -i@x.lst foo.zip (Onno)
22. vms/link_zip.com: use .eqs. not .nes. when checking with f$search
    for the zip AXP object library (David Dachtera)
23. rsxnt 1.3.1 fixes (E-Yen Tan)
-------------------------- January 20th 1998 version 2.21b -------------------
 1. Bigger PATH_MAX for win32's windll (Mike)
 2. Update windll.txt w.r.t. PATH_MAX (Mike)
 3. Amiga SAS/C fixes (Walter, Paul)
 4. zip -i@ and -x@ should *really* work now ...... (Onno)
-------------------------- February 20th 1998 version 2.21c -------------------
 1. make -f unix/Makefile qnx needs LN=ln in its options (Chris)
 2. Support Metroworks Codewarrior/x86 on BEOS (Chris)
 3. Add Norbert Pueschel to proginfo/infozip.who (Walter)
 4. Use big endian for Be types (Chris)
 5. zip -i and -x were broken by the -i@ fix last time around (Christian)
 6. win32 stat bandaid (Paul)
 7. acorn filetype and timestamp fixes (Sergio, D. Krumbholz)
 8. update to izshr30 (Christian)
 9. Support for NTSD in the RSXNT environment (Christian)
10. restructure readzipfile() (Christian)
11. Where needed define MATCH in osdep.h (Christian)
12. version_local() fixes for RSXNT (Christian)
13. New vmsmunch.c (Christian)
-------------------------- March 15th 1998 version 2.3a -------------------
 1. Fixes for the windll API (Mike)
 2. Use CPUTYPE in BorlandC Makefile for DOS (E-Yen Tan)
 3. BEOS: -rostr not available for the x86 compiler (Chris)
 4. preserve file attributes of a symlink on BEOS (Chris)
 5. New VM/CMS README.CMS and version_local() (Ian Gorman)
 6. INSTALL fixes from Takahiro Watanabe
 7. OS/390 port from Paul von Behren
 8. new api.h from Mike
-------------------------- April 19th 1998 version 2.3b -------------------
 1. Improve Tandem file I/O performance (Dave Smith)
 2. New VM/CMS README.CMS and version_local() (Ian Gorman)
 3. cygwin32 port from Cosmin Truta
 4. Workaround for tasm32 5.0 bug in win32/crc_i386.asm (Cosmin Truta)
 5. win32/match32.asm fixes for tasm 5.0 (Cosmin Truta)
 6. simplify OS/390 port (Christian)
 7. win32 timezone handling fixes (Christian)
 8. fix 40-bit time conversion on the acorn (Sergio and Christian)
 9. strip network part from UNC type filenames (Christian)
10. Makefile for OpenMVS (Ian Gorman)
11. Use the Watcom getch() for cygwin32 (Christian)
12. Borland C++ 5.x added to win32's version_local() (Cosmin Truta)
13. Borland C++ needs tzset() in win32 (Christian, Cosmin Truta)
-------------------------- May 21st 1998 version 2.3c -------------------
 1. Better error messages for -i and -x (Christian)
 2. Win32 stat() wrapper needs dos2unixtime (Christian,Paul,Mike)
 3. DJGPP: use _chmod to handle LFN attributes correctly (Michael Mauch)
 4. Fix Borlandc warnings (Mike)
 5. win32/makefile.bor fixes from Michael Mauch
 6. win32/makefile.{dj,emx} fixes from E-Yen Tan
 7. Use izshr031 (Christian)
 8. CMS: use RECFM=V LRECL=32760 by adding "byteseek" (Greg Hartwig)
 9. Check external name for trailing "/" (Greg Hartwig)
10. More specific info in CMS version_local() (Greg Hartwig)
11. Changed usage info to refer to "fm" rather than "path" on CMS (Greg Hartwig)
12. No more "extra data" messages when using the same OS (Greg Hartwig)
13. Rewritten README.CMS, one version for ZIP and UNZIP (Greg Hartwig)
14. DOS/OS2/WIN32/UNIX: ex2in() strips off "//host/share/" from UNC names (SPC)
-------------------------- June 23rd 1998 version 2.3d -------------------
 1. Fixed Win32's stat() bandaid handling of time stamps (SPC)
 2. General fix of file selections for DELETE and FRESHEN action (SPC)
 3. CMS_MVS: Use ASCII coding for TIME extra field ID (SPC)
 4. EBCDIC: Repaired bogus CMS_MVS fix in zipup.c; check the internal
    name for trailing (ASCII) '/' to detect directory entries (SPC)
 5. Use explicit ASCII coding when comparing or setting chars in iname (SPC)
 6. Fixed win32/makefile.bor, win32/makefile.dj (support NTSD),
    win32/makefile.emx (SPC)
 7. Replaced win32/makefile.cyg by win32/makefile.gcc, containing new
    support for mingw32 GCC environment (SPC)
 8. Use izshr032 (SPC)
 9. Modified zipup.c to hold (un)compressed lengths in "ulg" variables, in
    an attempt to support handling of huge (>2GByte) files. (SPC)
10. Removed some duplicate #defines from api.h, they are now in crypt.h (SPC)
11. Reenabled "extra data size" info messages in noisy mode for all systems
    except RISCOS and CMS_MVS (SPC)
12. For EMX 0.9c, the runtime lib contains a working mktime(), use it (SPC)
13. Miscellanous cosmetic changes (SPC)
14. Move win32/makefile.emx to msdos (E-Yen Tan)
15. make api.h work with zcrypt2.8 (Mike)
16. define ydays differently in api.h to avoid linking problems (Mike)
17. New windll.txt (Mike)
18. win32 lcc patches  (E-Yen Tan)
19. win32 lcc makefile (E-Yen Tan)
20. Multiple inclusion bug: no malloc.h when using lcc-win32 (E-Yen Tan)
21. New VB support files for windll (Mike Le Voi, Raymond King)
22. MacOS port by Dirk Haase
-------------------------- August 1st 1998 version 2.3e -------------------
 1. Generalized check for validy of TZ timezone setup info, similar to
    UnZip; use it on AMIGA and MSDOS, as before. (SPC)
 2. Apply TZ validy check on OS/2 and enable creation of UT e.f. (SPC)
 3. BEOS: New Makefile, updates for README and Contents (Chris Herborth)
 4. beos/beos.c: declare some private functions as "local" (SPC)
 5. Include memcompress() code only for ports that make use of it, controlled
    by preprocessor symbol ZP_NEED_MEMCOMPR (SPC)
 6. cmsmvs/README.CMS fix: Zip archive entries to be extracted into var-length
    records CMS files should >>NOT<< contain binary data ... (SPC)
 7. crc32.c, crctab.c: the crc polynom table is ZCONST (SPC)
 8. trees.c: fixed a bug in the deflate algorithm that limited the compressed
    size of an archive member to 512 MByte (SPC)
 9. deflate.c: Integrated the changes found in zlib that are neccessary to make
    the deflate algorithm deterministic; modified msdos/match.asm to take
    care of the "nice_match" global no longer being constant.  (SPC)
10. deflate.c, trees.c, zipup.c: Reorganized and simplified deflate's
    compressed output buffer handling. I/O and compression code are now
    separated more cleanly. (SPC)
11. Killed bits.c by moving its contents into trees.c resp. zipup.c;
    synchronized all Makefiles and Make procedures with this change. (SPC)
12. Integrated support for optionally replacement of deflate and crc32 by
    public domain zlib code. (SPC)
13. Synchronize the different variants (UNIX/GNU C, OS/2, WIN32) of i386
    assembler replacement for deflate's longest_match() (SPC)
14. Moved the EMX+rsxnt Makefile.emx from msdos/ back into win32/ (SPC)
15. Restored a separate Makefile.emx for DOS; on DOS, some make programs may
    have difficulties with recursive invokation (SPC)
16. Fixed the "include header mess" of the new MACOS port and removed the
    "work-around hacks" caused by these bad MACOS .h-file includes (SPC)
17. Integrated Dirk Haase's beta4 (27-Jun-98) release of MacZIP (Dirk Haase)
18. Added support for MS Quick C in the MSDOS version_local() report (SPC)
19. Added WIN32 rsxnt targets linking against the emx crtl DLL to Makefile.emx
    in os2/ and win32/ (SPC)
20. Fixed typo in os2/os2.c wild() function. (Kai Uwe Rommel)
21. Removed ChangeNameForFAT() from os2/os2.c in2ex() to fix problem with
    long filename support. (Kai Uwe Rommel)
22. os2/os2zip.[ch]: correct type of DOS-style timestamp data is "ulg" (SPC)
23. vms/cmdline.c: Removed wrong ';' behind if condition (Johnny Lee)
24. VMS: Preliminary preparations in C code for supporting GNU C on OpenVMS
    Alpha (Onno van der Linden, Christian Spieler)
25. VMS: Fixed check against adding zipfile to itself in fileio.c (SPC)
26. WIN32: Added lcc-Win32 variants of i386 assembler code for crc32() and
    longest_match(). (SPC)
27. WIN32: Removed bogus type-cast in assignment to statb st_mode member (SPC)
28. zip.c: Fixed MACOS-related typo that broke "-@" command option (SPC)
29. zipup.c: Fixed messed-up expression for assignment to z->ver (SPC)
30. MACOS extra fields: check realloc return values (Onno, Johnny Lee)
31. Fix the PUTBYTE macro in trees.c: >= instead of < (Onno)
-------------------------- September 6th 1998 version 2.3f -------------------
 1. Add zp_tz_is_valid to globals.c (Onno, Frank Donahoe)
 2. Updated tandem files from Dave Smith
 3. Windll: allow comments to zip archive with VB (Mike)
 4. Windll: add support for -b and update the documentation (Mike)
 5. win32: use wbS for FOPW to handle large zip files better (Steve Miller)
 6. MVS fix: use fseek();clearerr() instead of rewind() (Onno, Lee Burton)
 7. Updated VB examples for windll (Mike)
 8. Tandem: use UTC timestamps and GID/UID in extra field (Dave Smith)
 9. Tandem: handle -o option (Dave Smith)
10. default for ZCONST is const in tailor.h, override in osdep.h (Onno)
11. additional Macintosh options in zip.c (Dirk Haase)
12. additional Macintosh options in zip.1 and MANUAL (Onno, Dirk Haase)
13. Integrate Beta 5 of the Macintosh Port (Dirk Haase)
-------------------------- October 27th 1998 version 2.3g -------------------
 1. zip_tz_is_valid should be zp_tz_is_valid (Kai Uwe)
 2. MVS native (not OE) beta fixes (Keith Owens)
 3. LynxOS support from Giuseppe Guerrini
 4. MVS already has stat() and fstat() so use 'em (Keith Owens)
 5. MVS fix in readzipfile() for new, unopened dataset without EOF marker
    (Keith Owens)
 6. Remove 16-bit stuff from windll/windll.rc (Mike)
 7. Windll: Use hCurrentInst not hInst (Mike)
 8. In util.c compare strchr() return value with NULL (Onno, Frank Donahoe)
 9. unix/unix.c: initialize variable t in ex2in() (Onno, Frank Danahoe)
10. Remove windll/borland subdirectory (Mike)
11. Really fix extra field realloc() for BeOS and MacOS (Christian)
12. Fix the dj2 LFN related access violation bug (Christian, Joe Forster)
13. proginfo/3rdparty.bug: Added more info about other Zip clone's bugs.
14. The global copyright definitions in revision.h now depend on DEFCPYRT
    (Christian).
15. tandem/macros: removed obsolete object file references (Christian)
16. fix memory leak with the "filter" patterns (Christian, Leah Kramer)
17. zip.c: completed the support for MacOS specific -N (Christian)
18. reorganized the Mac specific help screen code (Christian)
19. zipup.c: corrected the USE_ZLIB code to emit "stored" entries under
    the same conditions as the "native deflate" code (Christian)
20. A couple of vars that will never be negative should be unsigned (Christian)
-------------------------- November 18th 1998 version 2.3h -------------------
 1. DJGPP: When compressing from stdin don't set binary mode if stdin is
    a terminal (E-Yen Tan)
 2. Fix signed/unsigned comparisons in fileio.c, util.c and zipcloak.c
    (Frank Donahoe)
 3. Move macgetch() prototype from macos/source/macos.c to macos/osdep.h
    (Christian)
 4. _doserrno should have type int, not unsigned int (Christian)
 5. In zipfile.c init a file pointer with NULL to fix gcc warning (Christian)
 6. Upgrade to MacOS beta 7 (Dirk Haase)
 7. Move the #pragma statements from generic sources to cmsmvs.h (Christian)
 8. Support for QNX/Neutrino 2.0 (Chris)
 9. Default to -r in help screen add -R at the bottom (Chris)
10. Clean up Makefile for BeOS R4 on x86 (Chris)
11. Beos: If not storing symlinks store attributes of symlink target (Chris)
12. Use izshr037 (Christian)
13. Remove ZIPERR() macro from in {msdos,win32}/osdep.h (Christian)
14. win32/win32.c: Fix 1-day offset in non-64bit FileTime2utime() (Christian)
15. win32: enable 64-bit FileTime2utime() for MS VC++ >= 5.0 (Christian)
16. cygwin32 only has _P_WAIT (Thomas Klausner)
17. msname() should *really* ignore illegal characters (Thomas Klausner)
18. Fix a missing ')' in Opendir() from win32zip.c (Thomas Klausner)
-------------------------- December 5th 1998 version 2.3i -------------------
 1. Remove the #pragma statements that were forgotten the first time (Ian)
 2. Remove obsolete macos/source/CharMap.h (Steve Salisbury)
 3. isatty(fileno(zstdin)) in zipup.c should be isatty(zstdin)
    (Onno, E-Yen Tan)
 4. several "shut up warnings from compiler" fixes (Christian)
 5. several cosmetic source changes (Christian)
 6. win32: make NTSD handling to be robust against alignment and structure
    padding problems (Christian)
 7. Apply don't set binary mode when stdin is a terminal in zipup.c for
    MSDOS and human68k (Christian)
 8. Upgrade to MacOS beta 8 (Dirk Haase)
 9. Add callback for WINDLL to handle user termination (Mike)
10. Fix typo in acornzip.c (Darren Salt)
11. acorn/sendbits.s: pass correct parameters to flush_outbuf() (Darren Salt)
12. Fixes for IBM C/C++ 3.6 where time_t is a double (Kai Uwe)
13. Fixes for IBM Visual Age C++ for win32 (Douglas Hendrix)
14. man/zip.1: some version numbers in the text were still "2.2" (Christian)
15. win32/makefile.emx: added a compilation variant that generates
    standalone executables (Christian)
16. change __CYGWIN32__ into __CYGWIN__ and add compatiblity definition for
    B19 and older (Cosmin Truta)
17. create uniform win32 getch() replacement (Christian)
18. put back in define of USE_EF_UT_TIME in tandem.h (Dave Smith)
19. put back in define of USE_CASE_MAP in tandem.h (Dave Smith)
20. updates to make/macros to allow the object to be licensed (Dave Smith)
21. updates to macros/doit to remove mktime.c (Dave Smith)
22. updates to tandem.c for in2ex/mapname/chmod amendments to match Unzip
    (Dave Smith)
23. Use izshr039.zip (Christian)
24. Init filenotes to 0 for the amiga too (Onno)
25. get_filters(): remove one flag=0 statement to make -R work again (Onno)
-------------------------- December 17th 1998 version 2.3j ------------------
 1. FOPWT defines opening a temp file for writing (Ian)
 2. Remove handling of bits.c from a couple of tandem files (Christian)
 3. A couple of "shut up warnings from compiler" fixes (Christian)
 4. win32/osdep.h: removed duplicate "IZ_PACKED" definition (Christian)
 5. win32/zipup.h: remove invalid "elseif" preprocessor token (Christian)
 6. sync MacOS help screen with other ports (Christian)
 7. get_filters(): set flag to 0 when -R isn't used (Christian)
 8. "local extra != central extra" now has "info" status (Christian)
 9. use windll directory as "home" directory for builds (Mike)
10. CMS/MVS: define FOPWT (Ian)
11. Upgrade to MacOS beta 9 (Dirk Haase)
-------------------------- January 17th 1999 version 2.3k ------------------
 1. Change FOPW into FOPW_TMP (Christian)
 2. win32: #include uses paths relative to the parent directory (Christian)
 3. Use forward slashes as path separator in #include statements (Christian)
 4. windll: fix descriptions of f{In,Ex}cludeDate (Christian)
 5. win32/makefile.lcc: add some -I<path> options to find files in the
    right places (Christian)
 6. Supply default empty IZ_PACKED define (Christian)
 7. windll: Fix some typos, descriptions (Christian)
 8. windll project files: use relative paths, no specific root directory
    (Christian)
 9. windll project files: remove link references to import libraries that
    are not used by the zip library (Christian)
10. windll: fix potential infinite loop in a VB sample (Mike)
11. windll/windll.txt: remove "may not work with VB" statement (Mike)
12. Multibyte character set support from Yoshioka Tsuneo
13. Theos port from Jean-Michel Dubois
14. Tandem: added simple handling of Enscribe files by converting them into
    text type files (Dave Smith)
15. Tandem Extra Field ("TA") containing Tandem File Attributes (Dave Smith)
16. Tandem history file showing background info to (UN)ZIP ports (Dave Smith)
17. create ZIP file on tandem with special file code (1001) (Dave Smith)
18. made tandem.c & tandem.h code completely the same as UNZIP (Dave Smith)
19. unix/configure: move +Onolimit and -Olimit into the machine specific
    section (Onno, John Wiersba)
-------------------------- February 21st 1999 version 2.3l ------------------
 1. Fix qdos Makefile (Jonathan Hudson)
 2. fgets instead of gets in zipnote to fix linker warnings (Jonathan Hudson)
 3. Theos: remove _setargv.c and a reference in zip.c (Jean-Michel Dubois)
 4. Theos README (Jean-Michel Dubois)
 5. interchanged the fRecurse flag values for "-R" and "-r" (Christian)
 6. add "z" pr prefix to MBCS functions to avoid name clashes (Christian)
 7. Whenever the position of the increment operator does not matter, the
    INCSTR variant is used, which has been mapped to the {PRE|POS}INCSTR
    variant that is more efficient. (Christian)
 8. fixed the "-R" handling in fileio.c, filter() function (Christian)
 9. simplified some THEOS specific code additions (Christian)
10. changed the line break of the compiler version message in version_local()
    for MSDOS and Win32 to take into account some verbose compilers (Christian)
11. removed the THEOS changes from ttyio.c. Instead, a THEOS specific
    setup was added to ttyio.h (Christian)
12. sync vms/link_zip.com with the corresponding make_zip.com (Christian)
13. added compatibility settings for support of MBCS on Win32 with all tested
    compilers to win32/osdep.h
14. added type-casts to isalpha() macro calls (Christian)
15. fixed win32's wild_match which was clobbered by the MBCS addition
    (Christian)
16. finished up the "potential infinite loop" problems in the VB sample
    that Mike started to repair (Christian)
17. in ziperr.h, AZTEK C might require the false comma that was removed
    to satisfy THEOS C (Christian)
18. removed the bogus THEOS specific isdir check in zipup.c (Christian)
19. modified the code for line ending translation to be independent
    of the local system's convention for '\n' and '\r'; this allowed
    the removal of the THEOS specialities (Christian)
20. Tandem: -B option to zip Enscribe files with no record delimiters
    (Dave Smith)
21. Tandem: attempt to catch Large Transfer mode failure (Dave Smith)
22. Theos: Fixed keyboard entry functions. (Jean-Michel Dubois)
23. Theos: workaround for the argument wild card expansion that is bugged
    in the standard library. Managed by MAINWA_BUG flag. (Jean-Michel Dubois)
24. Theos: support for filenames and notes with accented characters.
    (Jean-Michel Dubois)
25. Upgrade to MacOS final (Dirk Haase)
-------------------------- March 31st 1999 version 2.3m -------------------
 1. Theos: for relative paths to root directory cause open, fopen and stat
    failure, workaround this. (Jean-Michel Dubois)
 2. Theos: when no path is indicated in a file or directory name and the
    file or directory doesn't exist in the current directory it looks for
    the file or directory in the root directory, workaround this.
    (Jean-Michel Dubois)
 3. Corrected some typos and spelling error in macos/HISTORY.TXT; skipped
    off invisible trailing whitespace (Christian)
 4. proginfo/extra.fld: added documentation for Tandem and Theos extra
    field layout (Christian with Dave D Smith resp. Jean-Michel Dubois)
 5. qdos/Makefile.qdos: The build of ZipCloak requires inclusion of
    the crctab object module; qfileio_.o compilation requires the -DUTIL
    flag (Christian)
 6. win32: fix incorrect MB_CUR_MAX macro for mingw32 and lcc (Christian)
 7. theos/_fprintf.c, theos/_rename.c, theos/osdep.h: Some function
    parameters require the "const" attribute to achieve compatibility
    with ANSI C requirements (Christian)
 8. theos/theos.c: map Theos' (No)Hidden file attribute to MSDOS Hidden
    bit in the MSDOS part of zipentry header's external attribute field;
 9. theos/stat.h: prevent multiple inclusions
10. Theos: Fixed wild card management for options other than adding
    (Jean-Michel Dubois)
11. Theos: Removed modifications of const strings (Jean-Michel Dubois)
12. Split tandem.c up into separate zip/unzip parts (Dave Smith, Christian)
13. Move inclusion of OS specific zipup.h files to tailor.h (Onno)
-------------------------- August 14th 1999 version 2.3n -------------------
 1. Move inclusion of OS specific zipup.h files back to zipup.c (Onno)
 2. Remove getline() from zipnote.c and use gets() again (Onno)
 3. BeOS PowerPC R4.1 support (Chris)
 4. New DOIT and MACROS files for the tandem port (Dave Smith)
 5. Don't switch the console to binary mode (Michel de Ruiter)
 6. In some circumstances undosm could be freed twice (Mike)
 7. Also define const in tailor.h for ultrix (Onno, Foppa Uberti Massimo)
 8. Tandem: Change zopen in TANZIPC to allow opening of files with missing
    alt keys (err 4) (Dave Smith)
 9. Tandem: Assume not DST if can't resolve time (no DST table available)
    (Dave Smith)
10. WIN32: skip trailing dots and spaces in getnam (Onno, Dan Kegel)
11. Use ZE_NONE when nothing to freshen or update (Onno, Yuri Sidorenko)
12. Remove tabs from files that don't need them (Onno)
13. Remove tabs and spaces from the end of a text line (Onno)
14. Upgrade macos to 1.04b2 (Dirk)
15. Add -Q documentation to manual page (Jonathan Hudson)
16. Copy hiperspace files instead of renaming them (Keith Owens)
17. Disallow some more characters to appear in DOS filenames when using -k
    (Onno, Thomas Klausner)
18. Document missing options and environment variables in the manual (Onno)
19. New acorn/GMakefile to compile with gcc on RISCOS (Darren Salt)
20. ISO 8601 date format support for -t and -tt (Rodney Brown)
-------------------------- September 21st 1999 version 2.3o -------------------
 1. Sync zip.h license with LICENSE (Onno)
 2. Add copyright notice to README, os2zip.c and os2.zip.h (Onno, Greg)
 3. Fix the ASM variable in acorn/GMakefile (Darren Salt)
 4. Add another requirement to acorn/ReadMe.GMakefile (Darren Salt)
 5. Fix unbalanced parenthesis in vms_get_attributes declaration in zip.h
    and move it to vms/zipup.h (Onno, Mike Freeman)
 6. Make a couple of os2 files public domain (Kai Uwe)
 7. Change and rename disclaimer array in revision.h (Onno)
 8. Change copyright array in revision.h (Onno)
 9. macstuff.c copyright is the same as macstuff.h (Christian)
10. WHATSNEW: add ISO 8601 dates supported (Christian)
11. fileio.c - msname(): strip off leading dots, these are illegal for
    MSDOS compatible names (Christian)
13. fileio.c - replace(): deactivate "dead" code for CMS_MVS (Christian)
14. man/zip.1: "-$" option is also used for WIN32 ports
15. msdos/msdos.c - version_local(): break the version line for
    GNU compilers too (Christian)
16. tailor.h: added typecasts to MBCS macros, to suppress "type mismatch"
    warnings (Christian)
17. util.c, zip.h, zipfile.c: ZCONSTify several pointers (Christian)
18. util.c - recmatch(), zip.c - version_info(): add compile time option
    WILD_STOP_AT_DIR (Christian, Darren Salt)
19. util.c - envargs(): MBCS related fixes (Christian)
20. win32/lm32_lcc.asm: add TAB characters that are required by the lcc
    assembler source parser (Christian)
21. zip.c: fix the "is a console" check (Christian)
22. zipnote.c: use getline() (Christian)
23. zipup.c: use zclose() in case of I/O errors (Christian)
24. zipup.c: use ZE_WRITE when a write error occurs (Christian)
25. win32/win32.c: HAVE_INT64 is used by mingw32 (Cosmin Truta)
26. update shared sources to match izshr041 (Christian)
-------------------------- November 29th 1999 version 2.3 ------------------
 1. Missing parenthesis in win32/win32.c (Steve Salisbury)
 2. Add Cosmin Truta to proginfo/infozip.who (Onno)
 3. Remove one parenthesis pair too many from vms_get_attributes() declaration
    in vms/zipup.h (Mike Freeman)
 4. qdos .s are expected to start with a #, work around it (Jonathan Hudson)
 5. tandem: -B0 should be deflating not storing (Dave Smith)
 6. human68k updates from Shimazaki Ryo
 7. beos Makefile cleanup (Chris)
 8. workaround for fseek to negativate offset behaviour of the RISC OS
    SharedCLibrary (Darren Salt)
 9. set file type for RISC OS in zipcloak.c (Darren Salt)
10. change tandem zgetch() to allow crypt version to work (Dave Smith)
11. fix a comment typo in acorn/riscos.c (Christian)
12. fileio.c: two type-cast to shut up noisy compilers (Christian)
13. human68k: fix missing case_flag argmument (Christian)
14. win32/win32.c: remove HAVE_INT64 completely (Christian)
15. zip.c: raise "cannot zip to console" error when stdout IS a tty (Christian)
16. zip.h: don't use dummy argument names in declarations (Christian)
17. Add missing semicolon in fileio.c (Shimazaki Ryo)
18. win32.c: IBMC compiler >= 3.50 have int64 (Kai Uwe)
19. Handle initialization error return value from MVS stat() in procname()
    (Keith Owens)
20. Use RISC OS instead of RiscOS in the manual (Darren Salt)
21. Use # instead of ? as single character wildcard on RISC OS (Darren Salt)
22. New windll example.c (Mike)
23. Correct storage of 8-bit char filenames with RSXNT (Burkhard Hirzinger)
24. fix install in unix/Makefile (Santiago Vila, Onno)
25. Fix zip -L output (Santiago Vila, Onno)
26. Ignore unix special files (Jonathan O'Brien)
27. Upgrade to izshr042 (Onno)
28. Make copyright notice the same as in izshr042 (Onno)
29. Make copyright notice in zip.h the same as LICENSE (Christian)
30. Set tempzf to NULL _after_ it has been closed (Chris Kacher)
31. Change email address for Jonathan Hudson (Jonathan Hudson)
32. Remove win32/winzip.c.orig (Steve Salisbury)
33. Use 'Steve Salisbury' throughout the documentation (Steve Salisbury)
34. Change email address for Steve Salisbury (Steve Salisbury)
35. Change email address for Chris Herborth (Chris Herborth)
36. Use zip23 in INSTALL (Roger Cornelius)
37. Use zcrypt28 in INSTALL (Onno)
38. New acorn/srcrename (Darren Salt)
39. amiga/makefile.azt: make clean should remove some more items (Paul)
40. Change email address for Cosmin Truta (Cosmin Truta)
-------------------------- February 11th 2001 version 2.4a ------------------
 1. Identify newer Borland compilers (Brad Clarke)
 2. Detect Turbo C 2.01 which doesn't have mktime (Brian Lindholm)
 3. Fix the use of -@ together with -i -x (Christian)
 4. Update msdos/README.DOS to match reality (Christian)
 5. win32: use assembler crc32 code (Christian)
 6. windll: _CRTIMP is needed in several function declarations (Christian)
 7. back to zip 2.2 memcompress() behaviour  (Kelly Anderson)
 8. new amiga time code based on nih public domain code  (Paul Kienitz)
 9. Detect some more Borland C++ builder versions (Brad Clarke)
10. Fix OS/2's extended file attributes compression code (Christian, Kai Uwe)
11. Correct translation of EBCDIC passwords to ASCII (Christian)
12. Attempt at integrating novell patches from Roger Foss (Onno)
13. Use izshr043 (Christian)
-------------------------- July 3rd 2001 version 2.4b ------------------
 1. Fix OS/2's ACL compression code (Christian, Kai Uwe)
 2. Rename netware subdir to novell (Christian)
 3. Remove -dNETWARE -dDOS from novell Makefile (Christian)
 4. Remove defined(NETWARE) from the sources (Christian)
 5. printf is a macro in glibc 2.2, fix version_local function
    (Christian, Matthew Wilcox)
-------------------------- January 13th 2002 version 2.4c ------------------
 1. Use klist_items when initilizating koff[] in tandem.c (Dave Smith)
 2. Only call NLMsignals() in zip.c when NLM is defined (Mike, Onno)
 3. include riscos.h instead of acorn/riscos.h in acorn/osdep.h (Andy Wingate)
 4. Use izshr044 (Christian)
-------------------------- January 13th 2002 version 2.4d ------------------
 1. Don't use mmap for stored entries (Christian)
 2. BIG_MEM and MMAP cannot be defined at the same time (Christian)
 3. Allow redirection of version screen to file (Christian)
 4. Fix for OS/2 output redirection bug (Christian, Kai Uwe)
 5. Acorn script for creating self extracting zips (Darren Salt)
 6. Update amiga makefiles to support revised timezone routines (Christian)
 7. Correct memcompress calculation for allocation size (Christian)
 8. Fix FORCE_METHOD debug option for level 1 and 2 (Christian)
 9. Whitespace cleanup in man/zip.1 (Christian)
10. Define IZ_IMP to specify compiler declaration prefixes (Christian)
11. make win32 and msdos version_local() "stdio-macro-safe" (Christian)
12. move tandem's zip specific zipopen to tanzip.c (Christian)
13. first parm is void * in external scope of vms_get_attributes() (Christian)
14. use right novell subdirectory in zipup.c (Christian)
15. update copyright for files modified in 2002 (Onno)
-------------------------- January 19th 2002 version 2.4e ------------------
 1. Add MacOS X to version_local() (Mark)
 2. unix/configure: Init LFLAGS1 to "", MacOS X doesn't like -s (Onno, Mark)
 3. rename errors array to ziperrors to avoid MacOS X library clash (Mark)
 4. Support for the upx executable packer in DOS makefiles (Christian)
 5. remove obsolete -m486 switch from dos djgpp makefile (Christian)
 6. When using DOS, force the use of msdos style external attributes when
    updating zip entries created under another OS (Christian)
 7. os2/makefile.os2: fixed ASFLAGS for watcom16dos (Christian)
 8. Update copyright and ftp address in several files (Christian)
 9. The RISCOS port uses '.' as directory separator, not '/' (Christian)
10. win32/makefile.bor: more options to compile the asm CRC code (Christian)
11. win32: use registry to handle timezones with MS C rtl (Christian)
12. acorn: use recommended practice for calling the linker (Andy Wingate)
13. unix/configure: check if CPP works else use ${CC} -E (Onno, Mark)
14. update versioninfolines in revision.h to match reality (Onno)
-------------------------- February 10th 2002 version 2.4f ------------------
 1. vms: Zip -V is now able to handle file sizes up to 4Gb (Christian)
 2. vms: Include target environment detection for MMS/MMK (Christian)
 3. Change dummy message from zipcloak (Christian)
 4. acorn: add riscos specific -/ option (Darren)
 5. Update acorn's WILD_STOP_AT_DIR feature (Christian)
 6. acorn: Fix buffer allocation for -/ option (Christian, Darren)
 7. acorn: fix make clean (Andy Wingate)
 8. acorn: use tabs for GMakefile to make GNU make happy (Andy Wingate)
 9. tandem: use nskopen not zipopen (Dave Smith)
10. tandem: allow passing of CRYPT define (Dave Smith)
11. use izshr045 (Christian)
-------------------------- April 1st 2002 version 2.4g ------------------
 1. acorn: fix assembler and compiler options in makefile (Darren)
 2. use izshr046 (Christian)
 3. MVS: define isatty to 1 to fix screen output (Christian)
 4. tandem: encryption really works now (Dave Smith)
 5. win32: detect Borland C++ builder 6 (Brad Clarke)
-------------------------- April 30th 2003 version 2.4h ------------------
 1. tandem: fix temporary file contention (Dave Smith)
 2. cmsmvs: generate better filenames with -j (Owen Leibman)
 3. tandem: fix temporary file leftovers (Dave Smith)
 4. solaris: enable large file I/O to break 2G barrier (Rick Moakley, Onno)

---------------------- January 21st 2004 version 3.0a ----------------------
Initial work on Zip 3.0 by Ed Gordon and Rainer Nausedat
 1. Changed some comments to update copyrights (Ed)
 2. Changed text in command line messages from zip 2.4 to zip 3.0 (Ed)
 3. Changes to many files for Zip64 wrapped in ifdef ZIP64_SUPPORT (Rainer)
 4. Attempt to fix buggy Win32 buffered 64-bit calls (Ed)
 5. Add functions to zipfile.c for Little-Endian memory writes (Rainer)
 6. Add functions to zipfile.c for writing Zip64 extra fields (Rainer)
 7. Major changes to putlocal, putcentral, and putend (Rainer)
 8. Fixing -F and -FF for Zip64 postponed (Ed and Rainer)
 9. Command line code replaced.  Global table sets options, long options now
    supported.  Permutes so order of arguments can vary (Ed)
10. Fix bug where not allowed to use -@ with stdout but was with stdin.
    Now can read filenames from stdin using -@ and output to stdout and
    no longer am allowed to use -@ if reading from stdin (Ed)
11. Replace stat() with zstat(), fstat() with zfstat() and struct
    stat with z_stat in Zip64 blocks.  Put 64-bit file calls in ifdef
    LARGE_FILE_SUPPORT blocks.  Can implement Zip64 without > 4 GB
    file support but for now need large files for Zip64 support (Ed)
12. Move port-specific code to osdep.h and win32.c (port specific) and
    tailor.h (generic) and remove temporary os_io.c.  As OF() is
    not defined until after osdep.h includes in tailor.h function
    prototypes for zfseeko, zftello, and zstat after that in tailor.h (Ed)
13. Settings of ZIP64_SUPPORT and LARGE_FILE_SUPPORT automatic based on
    port and version of compiler.  Defining NO_ZIP64_SUPPORT or
    NO_LARGE_FILE_SUPPORT overrides this (Ed)
14. Bugs compiling scanzipf_fix(...) in zipfile.c and the fix functions could
    use rewrite (Rainer and Ed)
15. Add prototype for zfopen for mapping to 64-bit fopen on ports using
    inodes but not implemented (Ed)
16. More work on extended local headers and encypted archives (Rainer)
17. Fix DLL files so now compiles (Ed)
18. File size in dll limited to 32-bit in structure.  A new DLL api is needed
    to return 64-bit file sizes.  Current api fixed to return max 32-bit if
    more than that (Ed)
19. Add local header Zip64 support and local extra field.  Fixed cast
    to ulg missed previously that forced zstat to return value mod 4 GB in
    zipup.c which kept local header code from seeing actual file size (Ed)
20. Add new option --force-zip64 to force use of zip64 fields.  Could
    be temporary (Ed)
21. Fix for VB added to api.c that just store the passed strings internally.
    Should update api to optionally return file sizes as 64-bit in call back
    and to accept RootDir and other strings in same call that zips (Ed)
22. Readme updated to describe new features and mention updated mail group
    web links (Ed)
23. Minor bugs in output format found and fixed.  Now can add
    files > 4 GB to archive and unzip using major unzippers (Ed)
24. If zip used as filter (zip - -) and sizes exceed limits of extended
    local header (data descriptor) then set max 32-bit values there.  Major
    unzippers ignore and use central directory values which are correct.  Can
    create Zip64 data descriptor using --force-zip64 option but seems no need
    for it (Ed)
25. A few bugs in how headers are handled prevented zipping large numbers
    of files.  Fixed (Rainer)
26. A bit of an attempt to fix -F and -FF.  Seems to work but not that
    robust.  More work needed (Ed)
27. After some cast and other fixes zip compiles on Linux Red Hat 9 using Unix
    generic.  Added automatic detection of fseeko64 and if detected
    sets LARGE_FILE_SUPPORT and setting that sets ZIP64_SUPPORT.  Works but
    could not test large files on the small system (Ed)
28. Tried to fix bug that prevents zipnotes from compiling when ZIP64_SUPPORT
    is set.  Still broke.  This crashes the Unix Makefile but after
    zip is compiled (Ed)
---------------------- May 8th 2004 version 3.0b ----------------------
 1. Update license headers on more files (Ed)
 2. Change many ZIP64_SUPPORT ifdefs to LARGE_FILE_SUPPORT where appropriate.
    Now can test ports using three stages, compile with NO_LARGE_FILE_SUPPORT
    (which disables ZIP64_SUPPORT) to test base code, compile with
    NO_ZIP64_SUPPORT to test the 64-bit file calls (assuming port sets
    LARGE_FILE_SUPPORT) but otherwise use the base code, and without either
    to test Zip64 if enabled on port (Ed)
 3. Fix zipnotes bug by moving a ZIP64_SUPPORT block in zipfile.c (Ed)
 4. Add Large File Summit (LFS) code to Unix port to enable 64-bit calls.
    Update configure to include test for all needed 64-bit file calls before
    enabling LARGE_FILE_SUPPORT for unix port (Ed)
 5. Merge encryption code from zcrypt29 (files from unzip) into zip and
    enable by default (Ed)
 6. New man pages for zipnote, zipsplit, and zipcloak (Greg, Ed)
 7. Add encryption notice to crypt.c comments and to version information
    in zip.c (Greg, Ed)
 8. Add Russian OEM EBCDIC support when OEM_RUSS defined in ebcdic.h but
    Dmitri reports that 0x2F not '/' so make recommended change in cutpath
    call in zipfile.c used by -D option (Dmitri - Nov 10 2003 email)
 9. ToDo30 file added to list what's left to do in this release (Ed)
10. Change fopen to zfopen for large file code and map to fopen64 for
    Unix (Ed)
11. ftello64 seems broken in zipup.c on Linux (kernel 2.4), returning
    negatives past the 2 GB barrier, though ftello64 works in a test program.
    Likely error in defines.  For now skip ftello64 check for Unix with
    LARGE_FILE_SUPPORT.
12. A few updates in Readme.  Needs overhaul likely.  Also verified mxserver
    is gone and replaced with list addresses (Ed)
13. First iterations at updating WinDLL for Zip64 (Mike)
14. Decide to drop backward dll compatibility in favor of a cleaner
    dll interface.  Decide to add string interfaces for VB (Ed, Mike)
15. Add string interfaces to dll interface to bypass array limitations
    imposed by VB and add -x and -i to interface (Mike)
16. Create new VB example using new Zip64 dll interface (Ed)
17. Add O_LARGEFILE define for zopen in unix/zipup.h to enable reading
    large files in unix (Ed)
18. Combine ZpSetOptions and ZpArchive dll calls to allow removing all VB kluges
    in api.c to work around VB garbage collecting passed strings (Mike)
19. Change new VBz64 example to use updated interface.  All works without
    kluges (Ed)
---------------------- August 15th 2004 version 3.0c ----------------------
 1. Add date formats in -t and -tt date errors (Ed)
 2. Add -so to display all available options (Ed)
 3. Many fixes from Dan Nelson to fix some large file support problems and
    add large file support to a few ports.  Main change is rather than use
    explicit 64-bit calls like fopen64 now set 64-bit environment and use
    standard calls.  Also add a define for 64-bit printf format used to
    print 64-bit stats (Dan, Ed)
 4. Changes to Unix config based on suggestions from Dan Nelson.  Check
    if off_t is at least 64 bit (Dan, Ed)
 5. Add -- to get_option.  Any arguments after -- on command line now
    read as paths and not options (Ed)
 6. Add extended help (Ed)
 7. Change add_filter flag parameter from char to int as some compilers have
    problems with char arguments (Ed)
 8. Changed filter() to do R and i separately so i has precedence over R (Ed)
 9. Split variable t in zip.c into t (off_t) and tf (ulg) (Ed)
10. Add quotes to zipname in check_zipfile for MSDOS to allow spaces in
    archive path given to unzip to test ( , Ed)
11. Move zip.h include before ctype.h include in trees.c and zipup.c as
    when ctype.h is first and using 64-bit environment at least on unix port
    found it defines off_t as 4 bytes in those files as off_t is defined as
    8 bytes in other files and this changes the size of the zlist structure
    which is not good (Ed)
12. Add default 64-bit file environment to tailor.h if LARGE_FILE_SUPPORT
    is set but no port 64-bit file defines are set up earlier in the file.
    Should allow other ports to set LARGE_FILE_SUPPORT on the compiler
    command line to test if the standard defines work (Ed)
13. Adjust binary detection in trees.c by changing 20% binary (4 out of 5
    ascii) that used >> 2 to 2% (64 out of 65) using >> 6 instead.
    trees.c  (Ed)
---------------------- November 12th 2004 version 3.0d ----------------------
 1. Add global variable for EncryptionPassword in VBz64 example and
    some other password callback cleanup (Ed)
 2. Add -W option to turn on WILD_STOP_AT_DIR where wildcards will not
    include directory boundaries in matches (Ed)
 3. Add -nw option "no wild" to completely disable wildcards in MATCH
    function.  Allows a list of files to be read in without worrying about
    wildcards or escapes (Ed)
 4. Add -s option split-size but not implemented (Ed)
 5. Add -sp option split-pause but not implemented (Ed)
 6. Add changes for WiZ including moving Win32 64-bit wrappers into
    win32i64.c to avoid naming conflict between libraries in WiZ (Mike, Ed)
 7. Some large file fixes in crypt.c (Ed)
 8. Add new error code ZE_UNSUP for unsupported compiler options.  Add
    check of size of zoff_t in zip.c when LARGE_FILE_SUPPORT enabled (Ed)
 9. Changed ZE_UNSUP to ZE_COMPERR to avoid conflict with unzip (Ed)
10. On VMS (sufficiently recent, non-VAX), DECC$ARGV_PARSE_STYLE is set
    automatically to preserve case of the command line if the user has
    SET PROCESS /PARSE = EXTEND.  This obviates quoting upper-case
    options, like -V, when enabled.  VMS.C (Steven Schweda (SMS))
11. On VMS, building with macro VMS_PRESERVE_CASE defined preserves case
    of names in archive, instead of forcing lower-case (the former and
    current default behavior).  VMSZIP.C (SMS)
12. On VMS, in some of the simplest cases, ODS5 extended file name
    escape characters ("^") are removed from names in archive.
    VMSZIP.C (SMS)
13. On VMS, fixed a problem in some cases with mixed-case directory
    names, where too much of the directory hierarchy was included in the
    path names in the archive.  VMSZIP.C (SMS)
14. On VMS, minor changes for large file support (long -> zoff_t).
    VMSZIP.C (SMS)
15. On VMS, changed some structure declarations to typedefs, and
    rearranged to simplify #if's and reduce potential name conflicts.
    VMS.H, VMS_IM.C, VMS_PK.C (SMS)
16. On VMS, reformed -V (/VMS) processing.  Added -VV (/VMS=ALL).
    Removed some sign bits to accomodate files bigger than 2GB.
    CMDLINE.C, VMS_IM.C, VMS_PK.C, ZIP.C, ZIP_CLI.CLD, ZIP_CLI.HELP,
    ZIPUP.H (SMS)
17. Update command line options to support -VV as distinct option (Ed)
18. More VMS changes (SMS)
19. Add zoff_t format function (SMS)
20. On VMS, when -b was not used, temporary archive files were always
    created in the current default directory, rather than in the archive
    file destination directory.  VMS now uses its own tempname()
    function.  FILEIO.C, VMS.C (SMS)
21. Remove using FNMAX for path size in a few places including filetime.c
    to avoid exceeding limit (based on fixes from Greg and others) (Ed)
22. Add port atheos (Ruslan Nickolaev, Ed)
23. Bug fix adds different extra fields for local and central in VMS (SMS)
24. Now short options also take optional values as next argument (Ed)
25. Change -dd to control -v dots (SMS, Ed)
26. On VMS, a new open callback function senses (where supported) the
    process RMS_DEFAULT values for file extend quantity (deq),
    multi-block count (mbc), and multi-buffer count (mbf), and sets the
    FAB/RAB parameters accordingly.  The default deq is now much larger
    than before (16384, was none), and the default mbc is now 127
    (up from 64), speeding creation of a large archive file.  Explicitly
    set RMS_DEFAULT values override built-in defaults.  OSDEP.H, VMS.C
    (SMS)
27. VMS CLI definitions and CLI help have been updated, and may be
    approximately correct.  CMDLINE.C, ZIP_CLI.CLD, ZIP_CLI.HELP (SMS)
28. The man file zip.1 updated and Makefile updated to generate manual
    pages for zipcloak.1, zipnote.1, and zipsplit.1 (Ed)
---------------------- July 23rd 2005 version 3.0e ----------------------
 1. Debian patch 004 - apply 2.4i configure changes from Onno to remove
    need for -fno-builtin in unix/configure (Onno, Ed)
 2. Debian patch 005 for bug 279867 - fix bug that could crash on large paths
    and create security problem.  Apply patch changes from Greg (Greg, Ed)
 3. SourceForge patch 1074363 - add win32i64.c to win32/makefile.w32 (Ed)
 4. Add check when not ZIP64_SUPPORT in scanzipf_reg() in zipfile.c if
    Zip64 archive being read (Ed)
 5. Renamed fzofft() used to format zoff_t values to zip_fzofft() to remove
    conflict when combined with UnZip in WiZ (Mike)
 6. Add check in scanzipf_reg() in zipfile.c if Zip64 archive being read (Ed)
 7. Fixes for amiga/makefile.azt to define directory for object files (Paul)
 8. Define prototypes for local functions optionerr, get_shortopt and
    get_longopt in fileio.c.  Define err argument of optionerr as ZCONST (Paul)
 9. Add help_extended and DisplayRunningStats prototypes, fix other prototypes
    in zip.c (Paul)
10. Split int kk off of k for argument types (Paul)
11. Aztec #endif quirk fix in zip.c for Amiga (Paul)
12. Add detection of binary in first buffer read from file in zipup.c to avoid
    a -l or -ll translation on binary file.  Not perfect but at least should
    catch some binary files (Ed)
13. Remove check for >= 128 from binary check in zipup.c as <= 6 enough for
    signed char (SMS, Ed)
14. SF Bug 1074368 - check for empty zip file in readzipfile() in zipfile.c
    (Christian d'Heureuse, Ed)
15. Add error exit to prevent archive corruption when updating a large-file
    archive with a small-file program.  Add ZE_ZIP64 error.
    ziperr.h, zipfile.c (SMS)
16. Change percent() in zipup.c to do rounding better, handle cases near limits
    while rounding, and allow negative percent returns (SMS, Ed)
17. Add function ffile_size() in zipfile.c but in #if 0 block until determine
    if works on all ports under all conditions.  Currently only used for size
    check for Zip64 archive detection if compiled without ZIP64_SUPPORT and
    this check may already be handled in scanzipf_reg() and should be added to
    scanzipf_fix() when that is updated (SMS, Ed)
18. Change >>1 to /2 in zipsplit.c to allow for negative percent returns (SMS)
19. Add type uzoff_t for unsigned zoff_t things.  Should clean up some casting
    (Ed)
20. Based on discussions with other development groups, when data descriptors
    (extended local headers) are used, force to Zip64.  This is compatible
    with other unzips and does not require a change of the AppNote, but the
    resulting archive requires Zip64 to read.  Using standard data descriptors
    would mean that the zip operation would fail if a Zip64 entry was
    encountered.  See zipfile.c (Ed)
21. Add define SPLIT_SUPPORT to enable splits.  The command line options are
    done and the globals are set up but nothing more.  globals.c, zip.h, and
    zip.c mainly (Ed)
22. Create spanning signature at beginning of archive when splitting enabled.
    If reading a split archive skip the spanning signature unless creating a
    split archive.  zip.c, globals.c (Ed)
23. Start implementing split archives.  Define two methods. split_method = 1
    updates local headers and is the most compatible but requires updating
    previous splits.  split_method = 2 uses data descriptors and should work
    for streams and removable media but may not be as compatible with other
    zip applications.  (In part based on previous discussions with Rainer.)
    Updated global variables to include bytes written to just the current
    entry in the current split.  zipfile.c (Ed)
24. Add note about output redirection to zip.1 (?, Ed)
25. Remove num < 0 check as num now unsigned.  util.c (SMS, Ed)
26. Change lastchar to lastchr in fileio.c in places to avoid function by same
    name (SMS, Ed)
27. Moved #endif /* !WINDLL */ in zip.c (Mike)
28. Account for vms directory version being ;1.  vmszip.c (SMS)
29. Fix Zip64 check in scanzipf_reg to use the buffer.  zipfile.c (Ed)
30. Default define size_t (for use by Steve's ffile_size() function).  tailor.h (Ed)
31. Enable Steve's ffile_size() function and enable large file check.  It
    currently does not allow file sizes over 2 GB but the code is not supporting
    it anyway without large file support.  Should remove that part of the check
    when the casts are fixed.  zipfile.c (Ed)
32. Fixes for djgpp.  Now compiles with djgpp 2 (Ed)
33. Add new VC6 projects for win32 and windll (Cosmin)
34. Convert some variables in zipsplit.c from ulg to zoff_t so compiles (Ed)
35. Add wildcards to extended help.  zip.c (Ed)
36. For optional option value now '-' is same as missing value.  fileio.c (Ed)
37. Remove extra free() from -dd option switch.  zip.c (Ed)
38. Change write_unsigned_to_mem() to write_ulong_to_mem() and write_short_to_mem()
    to write_ushort_to_mem().  zipfile.c (Ed)
39. Create new append to mem functions.  zipfile.c (Ed)
40. Change zlist nam and ext from extent to ushort as that is what gets written.
    zipfile.c (Ed)
41. Change GetSD to use ush instead of size_t.  win32/win32zip.c (Ed)
42. Change PutLocal(), PutExtended(), PutCentral(), and PutEnd() to write to
    memory and then write the block at once to the file.  zipfile.c (Ed)
43. Change zcomlen from extent to ush, other extent conversions.  zipfile.c,
    globals.c, zip.h (Ed)
44. Add is_seekable() and global output_is_seekable.  Do seekable check
    when output file is opened.  zipup.c, globals.c, zip.h, zip.c (Ed)
45. Do not increment files_so_far and bytes_so_far if file could not be read.
    zip.c (Ed)
46. If force_zip64 set, only force compressed size in central directory to Zip64
    instead of all entries (csize, usize, off, disk) in Zip64 extra field.  This
    fixes inconsistent handling of disk numbers.  zipfile.c (Ed)
47. Add end status if displaying running stats and not all files were read.
    zip.c (Ed)
48. Change force_zip64 to zip64_archive in putend().  zipfile.c (Ed)
49. Enable the i686-optimized code by default.  crc_i386.S,
    win32/crc_i386.asm, win32/crc_i386.c (Cosmin)
50. Document and implement a new text detection scheme provided by Cosmin in
    set_file_type().  Should be able to handle UTF-8 and some other character sets.
    proginfo/txtvsbin.txt, trees.c (Cosmin, Johnny, Christian)
51. Update binary detection for -l and -ll to use Cosmin black list.  zipup.c (Ed)
52. Change ZE_BIG to include read and write.  ziperr.h (Ed)
53. If archive not seekable then use data descriptors.  If ZIP64_SUPPORT always
    create Zip64 data descriptors and add a Zip64 extra field to flag it is
    a Zip64 data descriptor.  This is klugy but should be compatible with other
    unzips.  See the note in zipfile.c for details.  (Ed)
54. Use ush for comment length in putend().  Instead of extent use ush for
    zcount and fcount same as in zip file.  zip.h (Ed)
55. Update VB readme.  windll/VB/readmeVB.txt (Ed)
56. Change (INSTALL) to (INSTALL_PROGRAM).  unix/Makefile (, Ed)
57. During update the file and byte status counts were off.  Fixed by not coun-
    ting files copied from old to new as those are not in totals.  zip.c (Ed)
58. Change from -b to -bx for nroff of manuals to text files.  unix/Makefile (Ed)
59. Add cygwin to makefile.  unix/Makefile (, Ed)
60. Fix bug where files to delete not added to list.  zip.c (Ed)
61. Fix delete stats.  zip.c (Ed)
62. Increment version of crypt to 2.10.  Update default behavior notes.
    crypt.c, crypt.h (Paul, Christian)
63. Format changes, add parentheses to zfseeko(), fix output bytes, add ifdef
    blocks for ZIP10, fzofft formatting, casts.  crypt.c (Christian)
64. Cast block_start to unsigned.  deflate.c (Christian)
65. Let -R patterns match in subdirectories.  Update filter() to use switch,
    use global icount and Rcount, handle subdirectories, update icount and
    RCount in filterlist_to_patterns().  fileio.c, zip.c, zip.h, globals.c
    (Christian)
66. Enclose option -! and use_privileges under NTSD_EAS guard.  globals.c,
    zip.c, zip.h (Cosmin)
67. Updates to version, copyright, license.  [I did not split the copyright
    to 2 lines as it already takes up space on the help screen.  Ed]
    revision.h (Christian)
68. Add ZCONST to some read-only string pointer arguments in function
    declarations.  zipcloak.c, zipnote.c, zipsplit.c, zip.c, zip.h (Christian)
69. Fix byte counts on exit in zipcloak() and zipbare() to fix zipcloak bug
    (Christian)
70. Modified zipnote.c to use WRBUFSIZ to handle line widths of at least 2047
    characters in write mode (Christian)
71. Change simple() and greedy() from zoff_t to uzoff_t.  zipsplit.c (Christian)
72. Remove duplicate copyright notices.  zipsplit.c (Christian)
73. Remove export notice from help page.  Move notice to bottom of license
    page.  zipcloak.c (Ed)
74. File USexport.msg export history added. (Greg)
75. Added support for VMS ODS5 extended file names.  (Eight-bit only, no
    Unicode.)  VMS name character "/" is mapped to Zip name character
    "?".  New command-line options -C[2|5][-] (/PRESERVE_CASE[=opts])
    control name case preservation and/or down-casing.  globals.c,
    zip.c, zip.h, vms/cmdline.c, vms/vms_im.c, vms/vms_pk.c, vms/vms.c,
    vms/vmszip.c, vms/vms.h  (SMS)
76. New VMS option -ww (/DOT_VERSION) stores version numbers as ".nnn"
    instead of ";nnn" [changed from -Y to -ww (Ed)].  zip.c (SMS)
77. Changes to vms_open().  vms/vms_im.c, vms/vms_pk.c
78. Changes to vms_read().  vms/vms_pk.c (SMS)
79. Documentation updates.  vms/vms_zip.rnh (SMS)
80. Minor updates.  vms/zip_cli.help, vms/cmdline.c, vms/vms_zip.rnh (Ed)
81. Changes to vmsmunch().  vms/vmsmunch.c (SMS)
82. Do some updating of VMS options.  vms/zip_cli.cld (SMS)
83. Moved the VMS-specific ziptyp() function from zipfile.c to vms/vms.c
    to segregate better the RMS stuff. (SMS)
84. Put 64-bit calls in ZIP64_SUPPORT ifdef blocks, change some long parameters
    for append to memory block functions to ulg, remove redundant includes,
    add OFT protos to some functions with parameter types that get promoted
    like ush to avoid warnings in VMS.  zipfile.c (SMS)
85. Use zip_fzofft() to format number.  zipsplit.c (SMS)
86. Add file_id.diz from Zip 2.31 (?, Ed)
87. Update install from Zip 2.31 (?, Ed)
88. Update license from Zip 2.31.  License (?, Ed)
89. Update Readme.cr from Zip 2.31 (?, Ed)
90. Add 64-bit assembler for Win32 from Zip 2.31.  win32/makefile.a64,
    win32/readme.a64, win32/gvmat64.asm (?, Ed)
91. Update Readme (Ed)
92. Update headers.  crctab.c, crc32.c, deflate.c, ebcdic.h, fileio.h (Ed)
93. Option for extra verbose VMS, change DIAG_FLAG from verbose to
    (verbose >= 2).  vms/vms.c (SMS)
94. Update copyright header.  qdos/qdos.c (Christian, Ed)
95. Change exit(0) to exit(ZE_OK).  qdos/qdos.c (Christian)
96. Change ulg to unsigned long.  tailor.h (, Christian)
97. Default uzoff_t to unsigned long long if LARGE_FILE_SUPPORT manually
    enabled for an otherwise unsupported port.  tailor.h (Ed)
98. Update copyright header.  tailor.h (Ed)
99. Change EXIT(0) to EXIT(ZE_LOGIC) for ziperr recursion.  zip.c (Christian)
100. Change EXIT(0) to EXIT(ZE_OK) for successful returns.  zip.c,
     zipcloak.c (Christian)
101. Update license.  zip.h (Christian)
102. Initialized mesg in zipcloak.c, zipnote.c, zipsplit.c to fix access
     violation crashes.  (Christian)
103. Added -q (Quiet mode) option to zipcloak, zipnote, zipsplit.  (Christian)
104. Add proto of mb_clen().  fileio.c (Cosmin)
105. Synchronize ttyio.c and ttyio.h with the unzip-5.52 source. (Cosmin)
106. Control the POSIX emulation provided by some Unix-on-Windows compiler
     distributions, such as Cygwin, via the FORCE_WIN32_OVER_UNIX macro.
     tailor.h, win32/Makefile.gcc (Cosmin)
107. Remove getenv() declaration.  util.c (Cosmin)
108. Fix definitions of zopen and zstdin.  unix/zipup.h (Cosmin)
109. Enable binary file operations for DJGPP and Cygwin.  unix/osdep.h (Cosmin)
110. Remove -DMSDOS from CFLAGS; use correct dependency in target crc_i386.obj.
     win32/makefile.w32, win32/makenoas.w32 (Cosmin)
111. Update win32/makefile.bor and win32/makefile.gcc (Cosmin)
112. Put mktemp() declaration inside the NO_PROTO guard.  tailor.h (Cosmin)
113. Use the right type (DWORD) for volSerNo, maxCompLen and fileSysFlags
     in FSusesLocalTime().  win32/win32.c (Cosmin)
114. Set the "zip Debug" configuration as default.  win32/vc6/zip.dsp (Cosmin)
115. Define ASM_CRC by default.  win32/osdep.h (Cosmin)
116. Avoid using file names that are distinguished solely by letter case;
     e.g. crc_i386.S and crc_i386.s.  unix/Makefile (Cosmin)
117. Stylistic fix inside ex2in().  unix/unix.c (Cosmin)
118. Change zlist dsk from ush to ulg to support Zip64 and added casts in
     zipfile.c to write ush.  zip.h, zipfile.c (Christian, Ed)
119. Conditionally apply S_IFLNK to support DJGPP.  unix/unix.c (Cosmin)
120. Change -dd [siz] (display dots, set optional dot size) to the options
     -dd (turn dots on, use 10 MB default) and -ds siz (set dot size).
     Found that using -dd with an optional value got confusing as detection
     of an optional argument, when the next argument was not either an option
     or the end of the line, was easy to overlook.  Easier to avoid optional
     values.  zip.c (Ed)
121. Change text output of manual pages to zip.txt, zip.txt, zipcloak.txt,
     zipnote.txt, zipsplit.txt.  unix/Makefile (Christian, Ed)
122. Change comments using // to /* */ format.  api.c, zip.c   (Christian)
123. Add support for signals SIGABRT, SIGBREAK, SIGBUS, SIGILL, and SIGSEGV
     to utilities.  zipcloak.c, zipnote.c, zipsplit.c (Christian)
124. Update ToDo30.txt file (Ed)
125. Delete old Manual file (Ed)
126. Update WHERE from Zip 2.32 (Ed)
127. Change description of dot-size.  zip.c (Ed)
128. Change VMS to use -ds to set dotsize.  vms/cmdline.c (Ed)
129. Update manuals.  man/zip.1, man/zipsplit.1, man/zipnote.1,
     man/zipcloak.1 (Ed)
130. Detect i586, i686 and Cygwin in version_local().  unix/unix.c (Cosmin)
131. Add clean target.  win32/makefile.w32, win32/makenoas.w32 (Cosmin)
132. Changed most 64-bit size/offset variable declarations (like zoff_t)
     into "unsigned" type (like uzoff_t), for better backward compatibility
     with non-ZIP64_SUPPORT setups where "ulg" was used for these variables.
     deflate.c, fileio.c, globals.c, trees.c, vms/vms_pk.c, win32zip.c,
     zip.c, zip.h, zipfile.c, zipup.c (Christian)
133. Add (ulg) cast to strstart in flush_block.  deflate.c (Christian)
134. Updated Win32 LARGE_FILE_SUPPORT setup for Watcom and MinGW.
     tailor.h, win32/osdep.h (Christian)
135. Add attempt count to tempname().  fileio.c (Christian)
136. Fixed size counter handling in debug code for Zip64. trees.c (Christian)
137. Moved cryptnote display text definition into revision.h, like was done
     in Zip 2.31.  zip.c, revision.h (Christian)
138. Add ZCONST.  fileio.c (Christian)
139. Removed earlier change in trash() where ASCII-containing iname was
     searched for native-coded '/' characters.  [Added note but left as
     changed 5/20/05 EG]  zipfile.c (Christian)
140. Change zipup size error message to use zip_fzofft().  zipup.c (Christian)
141. Updated win32/makefile.wat to enable Zip64 support and use directory
     for intermediate files.  (Christian)
142. Change fcount and zcount from ulg to extent as extent is used internally,
     but Zip64 standard supports up to ulg.  Add note to zip.h.  globals.c,
     zip.h (Christian)
143. Define NO_W32TIMES_IZFIX in compile options when appropriate. Add
     version information for USE_ZLIB compiler option.  zip.c (Christian)
144. Add support for SIGABRT, SIGBREAK, SIGBUS, SIGILL, and SIGSEGV signals.
     zip.c (Christian)
145. Add display-usize option to show uncompressed size.  zip.c (Ed)
146. Add many descriptions to options table.  zip.c (Ed)
147. Remove -R from help screen as on extended help screen.  zip.c (Ed)
148. Add basics to extended help.  zip.c (Ed)
149. Fix checks in scanzipf_reg() for empty file since cenbeg now unsigned.
     Change buffer from t to b in small big check.  Back up after small
     zip big archive check.  zipfile.c (Ed)
150. Change Zip64 not supported warning in scanzipf_reg().  zipfile.c (Ed)
151. Fix bug where local and central headers were not matching when compiled
     with NO_LARGE_FILE_SUPPORT.  Restored order of zlist structure elements
     to match order of local header as scanzipf_reg() compares it as an
     array of bytes to the local header.  Gag.  It needs fixing but at least
     it works as intended now.  zip.h, zipfile.c (Ed)
152. Minor fix from 10000 to 10 K for WriteNumString().  util.c (Ed)
153. Add overflow check to file_read().  zipup.c (SMS)
154. Add parameter p1 product specification.  vms/collect_deps.com (SMS)
155. VMS changes.  vms/descrip_mkdeps.mms (SMS)
156. Change zoff_t to uzoff_t and unsigned int to size_t.  vms/vms_im.c,
     vms/vms_pk.c (SMS)
157. Fix ; that was : at end of line.  Fix DisplayNumString() prototype.
     zip.h (Ed)
158. Get rid of leading blanks in DisplayNumString().  util.c (Ed)
159. Reset dot_count each file.  zipup.c (Ed)
160. Minor changes to extended help.  zip.c (Ed)
161. Move defines into DEFINED_ONCE block.  api.h (Mike)
162. Add Still Remaining And Planned For Zip 3.0 section.  WhatsNew (Ed)
163. Delete quotes around CHANGES.  Readme (Ed)
164. Add -lf, open file at path and use for logging, -la, append to
     existing logfile, and -li, include informational messages, options.
     globals.c, zip.h, zip.c (Ed)
165. Update extended help to include logging.  zip.c (Ed)
166. Add support for required short option value in form -o=value as optional
     does.  fileio.c (Ed)
167. If bytes_total is smaller than bytes_so_far for some reason then display
     negative of bytes_to_go.  This can happen if files grow in size after all
     the sizes are initially added up.  zip.c (Ed)
168. Use usize from filetime for adding to bytes_total when updating instead
     of size in old entry.  zip.c (Ed)
169. Change status counts files_so_far and bytes_so_far to include bad files
     so the status counts end at the end but add bad_files_so_far and
     bad_bytes_so_far to track bad files.  After minor fixes it looks like
     the counts remaining at the end are correct, even when some files are
     not readable.  Update bad file warnings.  zip.c, zip.h, globals.c,
     zipup.c (Ed)
170. Add uq for unsigned q in zipup().  Initialize z->len in case an error
     later so have a valid size.  zipup.c (Ed)
171. Check noisy in DisplayRunningStats() so logging is independent of it.
     zip.c (Ed)
172. Add check in DOS for windows and if running DOS version on Windows warn
     user.  zip.c, msdos/msdos.c, msdos/osdep.h (Johnny)
173. Add errno.h for strerror(errno) call.  zip.c, zipup.c (SMS)
174. Fix log problem if using -q option.  zipup.c (Ed)
175. Change "Far char" to "char Far" as Far is a qualifier not for the char
     type but the storage allocation of the array.  fileio.c (Christian)
176. Update note on extent.  globals.c (Christian, Ed)
177. Remove extra USE_ZLIB.  zip.c (Christian)
178. Add note for the OEM_RUSS '/' bug.  Need to look at later as it seems
     the Russian bug remains unfixed.  zipfile.c (Christian, Ed)
180. So byte counts always come out even, create good_bytes_so_far to
     count bytes read in and convert bytes_so_far to use the counts
     from the initial scan.  If files change during the zip operation
     good_bytes_so_far will change and not match bytes_so_far.
     zip.h, globals.c, zip.c (Ed)
181. Changes to extended help.  zip.c (Ed)
182. Update WhatsNew (Ed)
183. Update DLL resource copyright.  windll.rc, windll.aps (Ed)
184. Add directory search improvements to Win32 (within recursion, reuse
     attribs from directory lookup to avoid calling stat()).  Add
     getd_attribs(), procname_win32().  win32/win32zip.c (Johnny)
185. Cache result of IsFileSystemOldFAT() to avoid repetitive system calls
     for identical information.  win32/win32.c  (Johnny)
186. Add optimization to dosmatch(): apply alternate shortcut code when the
     pattern to match consists of one multichar wildcard ('*') followed
     by a fixed string.  util.c (Johnny)
187. Move DOS check_for_windows() checks to Help and Version and errors
     only.  Shorten message to one line.  zip.c, msdos/msdos.c (Ed)
188. Define WIN32_OEM to enable oem ansi conversions for more than RSXNT.
     Not yet fully implemented.  win32/win32.c, win32zip.c, zip.c,
     zipfile.c (Ed)
189. Directory search improvements for MSDOS.  msdos/msdos.c (Johnny)
190. Add caching of directory information.  If pattern is just *string no
     need to recurse.  win32/win32.c (Johnny)
191. If wild_stop_at_dir then do recurse to handle cases like a/b/*.txt.
     win32/win32.c (Ed)
192. Additional improvements to directory search speedups, including
     a) MSDOS port fixes for Turbo C++ compiler
     b) In both Win32 and MSDOS, change getDirEntryAttr() into macro,
        saving one function call overhead
     e) Add explaining comment to optimized procname_{local} code
     f) In util.c, move "*literal" pattern-matching optimization from
        dosmatch() to recmatch(). Advantages:
        - optimization used for all systems
        - optimization applied to all occurences where a "*" is last wildcard
          in pattern
        - "dosmatch()" only preconditoning wrapper for matching workhorse
          "recmatch()", it should not implement matching algorithms itself
        - optimization not applied for WILD_STOP_AT_DIR option
     g) >>>disabled<<< "*literal" optimization for all MBCS-aware environments,
        because suspect that supplied optimization code is not MBCS-clean
        (for details see the comment within the patch), so IS NOT USED for
        win32 port!  Can force activation of match optimization by specifying
        conditional compilation symbol TEST_FOR_MBCS_CLEAN.
     (Christian)
193. Add and move comments, implement changes for directory search improvements
     in Zip 3.0 util.c (Ed)
194. In win32/win32.c, IsFileSystemOldFAT(), add declarations of static caching
     variables where missing to fix win32 port compilation bug (Christian)
195. Correct changed arguments in RSXNT-only character set conversion
     call.  win32/win32zip.c (Christian)
196. Implement Directory Search improvements from Zip 2.32.  win32/win32zip.c
     (Johnny, Ed)
197. Debian Bug #312090 fix.  Reworded man page to give multiple examples of
     recursion, not just zip -r foo foo.  man/zip.1 (Ed)
198. Change "-Aa -D_HPUX_SOURCE +e" to -Ae for HP.  "HP-UX with the HP compiler
     and on AIX 4.2.0. AIX 5.1 with gcc-3.4.3 (32-bit) and Darwin built fine
     - though AIX 5.1 needed CC=gcc make -e ... to find gcc.  According to the
     HP-UX man page -Ae is equivalent to -Aa -D_HPUX_SOURCE +e it seems the
     +e is needed and -Ae is more terse anyway."  Expression generated before
     was too long.  unix/configure (Rodney Brown)
199. Add support for osf4.0f that does not have fseeko or ftello but has 64-bit
     fseek and ftell though.  tailor.h (Rodney)
200. Fix unsigned char to char in recmatch(), add casts for compares.  util.c
     (Ed)
201. Fix for alpha off_t long long.  unix/osdep.h (Rodney)
202. Change shmatch() from uch to char and change parameters to recmatch().
     Change dosmatch().  util.c (SMS, Rodney, Ed)
203. Add local for DisplayRunningStats().  zip.c (Rodney, Ed)
204. Disable unused append_ubyte_to_mem().  Fix error messages in other append.
     zipfile.c (Rodney, Ed)
205. Delete unused getDirEntryAttribs().  msdos/msdos.c (Christian)
206. Change warning when running msdos version on Windows.  msdos/msdos.c (Ed)
207. Change recmatch() to support MBCS matching.  util.c (Christian)
208. Update WhatsNew (Ed)
209. Update Readme (Ed)
210. Format Readme to fit in 80 character lines (SMS, Ed)
211. Rename install.vms to install_vms.txt.  vms/install_vms.txt (SMS)
212. Add reference to vms/install_vms.txt in INSTALL (SMS)
213. Update INSTALL (Ed)
214. Remove ALT_NEXTBYTE and Building UnZip sections as no longer needed.
     vms/notes.txt (SMS, Ed)
215. Add note to TODO (Ed)
216. Update Makefile message to suggest using generic.  unix/Makefile (Ed)
217. Update text output of manual.  zip.txt (Ed)
218. Update VMS section.  INSTALL (SMS, Ed)
219. Minor changes in vms/install_vms.txt (SMS, Ed)
220. Update VMS install information.  INSTALL, vms/install_vms.txt (SMS, Ed)
221. Do not use _stati64 under Cygwin.  win32/osdep.h (Cosmin)
222. Add note to Makefile to use generic first.  unix/Makefile (Ed)
223. Add Test option for VMS CLI.  vms/cmdline.c (SMS, ?)
224. Add noconfirm to deletes, define symbol edit.  vms/descrip.mms (SMS)
225. Changes to vms/install_vms.txt (SMS)
226. Add note on symbols to VMS.  INSTALL (SMS)
227. Update license headers.  vms/osdep.h, vms/vms.h, vms/vmsmunch.c,
     vms/zipup.h, vms/vmszip.c, vms/vms.c, vms/vms_im.c, vms/vms_pk.c,
     vms/command.c (Ed)
228. Add stsdef.h include for VMS and convert unzip test return to VMS
     result for VMS.  zip.c (SMS)
229. Add const to ziperr().  amiga/amiga.c (Paul)
230. Clean up makefile.  amiga/makefile.azt (Paul)
231. Don't try Amiga large file support.  amiga/osdep.h (Paul)
232. Add note on -V and -VV.  vms/notes.txt (SMS)
233. Small update.  vms/zip_cli.help (SMS)
234. Format Windows warning message.  msdos/msdos.c (Christian)
235. Format changes.  util.c (Christian)
236. Update VMS.  INSTALL (SMS)
237. Add creation of intermediate object directories.  msdos/makefile.wat
     (Christian)
238. Add void * cast.  msdos/msdos.c (Christian)
239. Add include for mktemp().  msdos/osdep.h (Christian)
240. Fix __RSXNT__ and WIN32_OEM define blocks.  win32/win32.c (Christian)
241. Fix __RSXNT__ and WIN32_OEM define blocks.  win32/win32zip.c (Christian)
242. Add != NULL to check.  zip.c (Christian)
243. Fix WIN32_OEM.  zipfile.c (Christian)
