summaryrefslogtreecommitdiff
path: root/CHANGES
diff options
context:
space:
mode:
Diffstat (limited to 'CHANGES')
-rw-r--r--CHANGES3460
1 files changed, 3460 insertions, 0 deletions
diff --git a/CHANGES b/CHANGES
new file mode 100644
index 0000000..751695f
--- /dev/null
+++ b/CHANGES
@@ -0,0 +1,3460 @@
+------------------------- 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)
+
+Note: Zip 2.4 was never released. That code was the start of the Zip 3.0
+effort below. Some changes and fixes also made it to the Zip 2.3x releases.
+
+---------------------- 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)
+---------------------- October 11th 2005 version 3.0f01 ----------------------
+(the internal betas may be merged later)
+ 1. Add DSEG for Watcom data segment. msdos/makefile.wat (Christian)
+ 2. Add -zq and use assembler. os2/makefile.os2 (Christian)
+ 3. Update header. os2/match32.asm (Christian)
+ 4. Change len from int to unsigned int. os2/os2.c (Christian)
+ 5. In GetLongPathEA() limit tempbuf to CCHMAXPATH. os2/os2.c (Christian)
+ 6. Add DWATCOM_DSEG to use data segment. win32/makefile.wat (Christian)
+ 7. Update header and add DGROUP. win32/match32.asm (Christian)
+ 8. Add UNICODE_SUPPORT define. zip.h, zip.c (Ed)
+ 9. Add oname to f and z structs for the display name to use in messages.
+ Change z->zname to z->oname in messages. fileio.c, zip.c, win32zip.c,
+ zipup.c, zipfile.c, zip.h (Ed)
+10. Move multi-byte defines to make global (they were needed with wide
+ characters but that was taken out and left them where they are).
+ fileio.c, zip.h
+11. Add copy_args(), free_args(), and insert_arg() to create copy of argv
+ that can free() and to support inserting "@" in get_option for lists.
+ fileio.c, zip.h
+12. Insert arg "@" after list if not followed by option. fileio.c
+13. Add args variable and copy argv to args so can use insert_arg(). zip.c
+14. Add MKS Korn Shell note. zip.c
+15. Change cast of option in add_filter() calls from char to int. zip.c
+16. Implement multi-byte version of Unicode support. To support Win32 NT
+ wide calls will require additional work not planned for this release.
+ Changes include (Ed):
+ - Add use_wide_to_mb_default flag. globals.c, zip.h
+ - Add compiler UNICODE_SUPPORT version information. zip.c
+ - Add uname to f and z structs for UTF-8 name. zip.c
+ - Moved some defines out of ZIP64 section. zipfile.c
+ - Add define UTF8_PATH_EF_TAG for Unicode Path extra field. Currently
+ the tag is 0x7075 which is 'u' 'p' for Unicode path and seems
+ free according to the AppNote. The extra field is
+ tag (2 bytes 'u' 'p')
+ size (2 bytes)
+ Unicode Path size (2 bytes)
+ unused (2 bytes set to 0)
+ unused (2 bytes set to 0)
+ Unicode path (variable)
+ The unused locations also serve as a check in case the tag is in
+ use already.
+ - Add add_Unicode_Path_local_extra_field() and
+ add_Unicode_Path_cen_extra_field() functions. zipfile.c
+ - Add read_Unicode_Path_entry() function. zipfile.c
+ - Set uname and oname in scanzipf_ref(). zipfile.c
+ - Add define wide_to_mb_default. Add zchar but not used. win32/osdep.h
+ - Add wide command line reading but don't use. win32/win32.c
+ - Add port functions for Unicode, including local_to_utf8_string(),
+ wide_to_escape_string() (for converting a wide character that can't be
+ converted to mb in the local character set to a reversable escape string),
+ escape_string_to_wide(), wide_to_local_string(), local_to_display_string()
+ (for creating the display version of name), utf8_to_local_string(),
+ local_to_wide_string(), wide_to_utf8_string() (NOT IMPLEMENTED), and
+ utf8_to_wide_string() (NOT IMPLEMENTED). win32/win32.c
+ - Implement attempt at escape function. Whenever a wide character can't
+ be mapped to the local character set, this function gets called.
+ Currently the wide character is converted to a string of hex digits.
+ If the wide can fit in 2 bytes then the form #1234 is used. If not,
+ the 4-byte form #L12345678 is used.
+ It compiles but needs the utf8 functions implemented. Also needs testing
+ in a multi-byte environment and only Windows is implemented so need to at
+ least do Unix. (Ed)
+17. Update freeup() to include uname and oname. zip.c
+18. Move define wide_to_mb_default so default for all is '_'. zip.h (Ed)
+19. No changes needed to osdep.h and update unix/unix.c but not tested. (Ed)
+---------------------- October 19th 2005 version 3.0f02 ----------------------
+ 1. Remove null value check for split_size as get_option() already checks.
+ zip.c (Ed)
+ 2. Update f$search(). vms/descrip.mms (SMS)
+ 3. Save parse name before search and use that on failure. Change name parsing
+ in ziptyp() to solve a problem with search-list logical name device directory
+ specs. vms/vms.c (SMS)
+ 4. Compile in UNICODE_SUPPORT if have wchar_t and mbstowcs(). unix/configure (Ed)
+ 5. Move Unicode defines to zip.h and functions to fileio.c so generic. Create
+ a new OEM function for Windows. fileio.c, zip.h, tailor.h, win32/win32.c (Ed)
+ 6. Add UTF-8 functions. fileio.c (Paul)
+ 7. Convert Unicode functions to use zwchar defined as unsigned long for wide
+ char. fileio.c, zip.h (Ed)
+ 8. Add wchar_t check for Unix. unix/configure (Ed)
+ 9. Add default when zwchar (4 bytes) is too big for wchar_t (2 bytes). zip.h (Ed)
+10. Allow for states for wide characters but surrogates not done. fileio.c (Ed)
+11. Update WhatsNew (Ed)
+---------------------- December 16th 2005 version 3.0f03 ----------------------
+ 1. Fix broke encryption when ZIP64_SUPPORT enabled by accounting for need for
+ data description when encrypting. Data description is not required for
+ encryption (WinZip does not use one) but seems needed by Zip for some reason.
+ zipfile.c (Ed)
+ 2. Add function bfwrite() to do buffered fwrite(). Most output already is
+ written by zfwrite used by crypt.c which now calls bfwrite. All splitting
+ and new byte counts are done in bfwrite. fileio.c (Ed)
+ 3. Move some functions out of ZIP64_SUPPORT defines for use with UNICODE_SUPPORT.
+ zipfile.c, zip.h (Ed)
+ 4. Add is_ascii_string() and only create Unicode extra field if z->iname is
+ not ascii. zipfile.c, zip.h, fileio.c, (Ed)
+ 5. Add parameter rewrite to putlocal() to note when rewriting bytes so the bytes
+ rewritten are not counted in output totals. zipfile.c, zip.h (Ed)
+ 6. Handle VMS ... wildcard. util.c (SMS)
+ 7. Make tempzip file name global. zip.c, globals.c, zip.h (Ed)
+ 8. Add out_path global and -O path option to allow the output archive to have a
+ different name than the input archive, if there is one. This allows
+ updating a split archive, since output to the same split name would otherwise
+ be complicated and not user friendly. Use out_path for output. zip.h,
+ zip.c, globals.c (Ed)
+ 9. Many output functions that had output file y as parameter, such as zipup(),
+ zipcopy(), putlocal(), putcentral(), and putend(), now do not as y is
+ now global. This allows changing y as splits are created. zip.c (Ed)
+10. Add function zipmessage() for writing messages like zipwarn() but are
+ informational. zip.c (Ed)
+11. Minor changes to help. zip.c (Ed)
+12. Add SPLIT_SUPPORT to version output. zip.c (Ed)
+13. Add rename_split() to rename and set attributes for a split. zip.c (Ed)
+14. Add set_filetype() to set attributes of split. zip.c (Ed)
+15. Change variable a (holds attributes) to zipfile_attributes and make global.
+ zip.c, zip.h, globals.c (Ed)
+16. Add key_needed flag for encryption and move setting key to after
+ command line processed. zip.c (SMS)
+17. Initialize dot size using default only if dot_size not set. zip.c (Ed)
+18. Change command line processing so that last -P or -e is used. zip.c
+ (Ed)
+19. Fix broke writing of 4-byte spanning signature at the beginning of the archive
+ if splitting. zip.c (Ed)
+20. Use bfcopy() instead of fcopy() to copy archive beginning. bfcopy() uses
+ global y. zip.c (Ed)
+21. It looks like tempzf is no longer used. zip.c (Ed)
+22. Account for SUNPRO_C and DECC_VER. Change SPARC to Sparc. unix/unix.c (SMS)
+23. Remove GNUC. vms/cmdline.c (SMS)
+24. Change case of system calls. vms/vms.c (SMS)
+25. Add fix for VMS ... matching, but may change Zip to avoid ex2in() and in2ex()
+ for pattern matching in future. vms/vmszip.c (SMS)
+26. Remove /NODIRNAMES and /DIRNAMES from VMS help. vms/zip_cli.help (SMS)
+27. Define new globals zip64_eocd_disk, zip64_eocd_offset, current_local_tempname,
+ bytes_this_split, and bytes_this_entry for splits. globals.c, zip.h (Ed)
+28. Add SUNPRO C and DEC C compile checks. unix/configure (SMS)
+29. Add CFLAGS_NOOPT for removing optimization for configure. unix/Makefile (SMS)
+30. Modify crypthead() to use bfwrite(). crypt.h, crypt.c (Ed)
+31. Modify zfwrite() to use global output file. crypt.h, crypt.c (Ed)
+32. Modify zfwrite() when no encryption to use bfwrite(). crypt.h (Ed)
+33. Add bfcopy() to copy to y. fileio.c (Ed)
+34. Add close_split() and bfwrite() for splits. fileio.c (Ed)
+35. Add is_ascii_string() to check if UTF-8 extra field is needed. fileio.c (Ed)
+36. Change Unicode escape of 2-byte wide from #1234 to #U1234. fileio.c (Ed)
+37. Add read_Unicode_Path_entry() to read the UTF-8 path extra field. zipfile.c (Ed)
+38. Latest Unicode Path extra field format is
+ 1 byte Version of Unicode Path Extra Field
+ 2 bytes Name Field Checksum
+ variable UTF-8 Version of Name
+39. Use CRC-32 for Unicode Path Checksum and AND halves. zipfile.c (Paul)
+40. Add Unicode Path Checksum check to make sure extra field applies to Name field
+ still. zipfile.c (Christian)
+41. Move get_extra_field() out of Zip64 block and make available for splits.
+ zipfile.c (Ed)
+42. Check in putlocal() using is_ascii_string() and don't create Unicode path
+ extra field if name is ASCII characters. zipfile.c (Ed)
+43. If local header for split is on another disk and using split method 1, close
+ that split in putlocal() after rewrite local header. zipfile.c (Ed)
+44. Fix data descriptor bug when encrypting where putextended() did not handle the
+ not Zip64 case, which mostly only happens now for encryption. zipfile.c (Ed)
+45. Check for ASCII name using is_ascii_string() in putcentral() for Unicode path
+ extra field. zipfile.c (Ed)
+46. Instead of single disk values, update putend() to use real split values for
+ current_disk, cd-start_disk, cd_entries_this_disk, cd_start_offset,
+ zip64_eocd_disk, zip64_eocd_offset, and current_disk and allow for
+ needing Zip64 if exceed standard max values for current_disk, cd_start_disk,
+ cd_entries_this_disk, total_cd_entries, and cd_start_offset. zipfile.c (Ed)
+47. Use current_local_offset and current_local_disk for z->off and z->dsk in
+ zipup(). zipup.c (Ed)
+48. Fix bug where force_zip64 was used to determine descriptor size but can have
+ Zip64 entry without force_zip64 so use zip64_entry. zipup.c (Ed)
+49. Change the p - o != s compression size test for splits to bytes_this_entry
+ != (key ? s + 12 : s) and avoid ftell() in split. zipup.c (Ed)
+50. If local header is on a previous split and split method 1 do the seek on that
+ split to update header. zipup.c (Ed)
+51. For streaming, only force Zip64 if reading stdin and writing a non-seekable
+ device. In other cases can detect either the input file size and set Zip64
+ if needed or seek in the output to update the local headers. zipup.c,
+ zipfile.c, zipup.c (Ed)
+52. Allow creation of stored archives with descriptors for testing. Currently
+ they can't reliably be read but this is planned. zipup.c, zipfile.c, zip.c
+ (Ed)
+53. Update help, adding in -e, -P, -s splitsize, -sp, and -sv options. zip.c (Ed)
+54. Spelling fix in zipsplit man page. man/zipsplit.1, zipsplit.txt (Ed)
+55. New option -sv and variable noisy_splits to enable verbose splitting.
+ Default is to quietly create splits, unless -sp set to pause between splits.
+ zip.h, zip.c, globals.c, fileio.c (Ed)
+---------------------- December 23rd 2005 version 3.0f04 ----------------------
+ 1. Move inlined text-vs-binary checks from file_read() into a separate,
+ new function named is_text_buf(). zipup.c, util.c, zip.h (Cosmin)
+ 2. Fix calls to putlocal to remove the removed dest parameter. crypt.c (Ed)
+ 3. Add get_split_path() to get the path for a split given the disk number.
+ fileio.c, zip.h (Ed)
+ 4. Change formatting of zipmessage() to remove tabbing and add formatting
+ to call to zipmessage(). fileio.c, zip.c (Ed)
+ 5. Initialize many variables such as y and tempzip. zip.c, fileio.c,
+ zipfile.c (Ed)
+ 6. Add loop to pause during split method 2 to allow changing disk or changing
+ the path for the next split. fileio.c (Ed)
+ 7. If after starting new split there is not enough room for the remaining buffer
+ for split method 1 display error and exit and for split method 2 we can
+ display a warning and user can replace disk or change path. fileio.c (Ed)
+ 8. Add list to store input file arguments using add_name() to add the name to
+ filelist_struc filelist and then process the names after the input archive
+ is read. zip.c (Ed)
+ 9. Fix infinite loop when opening a log file whose name contains multiple '/'.
+ zip.c (Cosmin)
+10. Move split size message lower and only output if option sv sets
+ noisy splits. zip.c (Ed)
+11. Set y to output file, remove output file from zipcopy(), putlocal(),
+ putcentral(), and putend(). zipsplit.c, zipnote.c, zipcloak.c (Ed)
+12. Add code for not SPLIT_SUPPORT case. zipfile.c, zipup.c (Ed)
+13. Prepend '-' to commands from target clean.
+ win32/makefile.w32, win32/makenoas.w32, win32/makefile.bor (Cosmin)
+14. Must not call putenv() in iz_w32_prepareTZenv() under Cygwin.
+ win32/osdep.h (Cosmin)
+15. Add browse info in Visual C++ 6 project. win32/vc6/zip*.dsp (Cosmin)
+---------------------- December 27th 2005 version 3.0f05 ----------------------
+ 1. Add proposed changes to License (Ed)
+ 2. Fix -l corruption bug by using memcpy() instead of wrongly changing the
+ buffer pointer. Fix was left out of last beta. zipup.c (Cosmin)
+ 3. Fix get_split_path() parameter. zip.h (SMS, Ed)
+ 4. Add -dg and display_globaldots to display dots globally for entire archive
+ instead of for each file. Is not affected by noisy flag. globals.c,
+ zip.h, zip.c, zipup.c, fileio.c (Ed)
+ 5. Make dot_count and dot_size uzoff_t, dot_count because with global dots
+ dot_count does not reset and with terabyte files the number of buffers
+ could exceed 2G, dot_size to allow use of ReadNumString() to read number.
+ zip.c, zip.h, globals.c (Ed)
+ 6. Add Deletion to help. zip.c (Ed)
+ 7. Fix delete date. zip.c (Ed)
+ 8. For streaming, need to assume Zip64 if writing a non-seekable device so
+ extra field for Zip64 is created if needed. zipup.c, zipfile.c, zipup.c (Ed)
+ 9. Add remove_local_extra_field() and remove_central_extra_field().
+ zipfile.c (Ed)
+10. Remove disabled copyright from license(). zip.c (Ed)
+11. Clean up recent changes. zip.c, zipfile.c, fileio.c, zip.h, zipup.c (Ed)
+12. Create scanzipf_regnew() for new file scan. zipfile.c (Ed)
+---------------------- December 29th 2005 version 3.0f06 ----------------------
+ 1. Change dot_size and dot_count from uzoff_t to zoff_t to allow use of
+ negative flag values. globals.c, zip.h (SMS, Ed)
+ 2. Remove file parameter to bfwrite() in putend(). zipfile.c (SMS, Ed)
+ 3. Add back code for not SPLIT_SUPPORT to putend(). zipfile.c (SMS, Ed)
+ 4. Change tag from ush to ulg in remove_local_extra_field() and
+ remove_central_extra_field() to avoid parameter problems. zipfile.c (Ed)
+ 5. Add allow_empty_archive to flag when want to create an empty archive.
+ globals.c, zip.h (Ed)
+ 6. Set allow_empty_archive when using -i and expecting an archive to be
+ created. This is in response to the 2/14/05 email. zip.c (Ed)
+ 7. Make before and after variables that hold the dates of files to
+ process or delete global so can use them in scanzipf_regnew(). zip.h,
+ zip.c, globals.c (Ed)
+ 8. Change scanzipf_regnew() to be based on scanzipf_fix() which seems closer.
+ Still have not coded the new regular zipfile reader. zipfile.c (Ed)
+ 9. For new reader first get add list and then read old archive and filter
+ as reading old entries. zip.c, zipfile.c (Ed)
+10. Define USE_NEW_READ to turn on using new reader, which is being
+ created. This allows all to work while the new reader is being worked
+ on. zip.c, zipfile.c (Ed)
+---------------------- January 9th 2006 version 3.0f07 ----------------------
+ 1. Remove dest parameter from crypthead() and zipcopy(). crypt.c (SMS, Ed)
+ 2. Change -ds to handle dots for as small as every 32 KB. zip.c (Ed)
+ 3. Add ask_for_split_write_path() and ask_for_split_read_path() for
+ asking where to put the next write split and for locating the next
+ read split. zip.h, fileio.c (Ed)
+ 4. Add in_path to track where reading splits from. zip.h, globals.c, zip.c (Ed)
+ 5. Update copyright date on changed files to include 2006 (Ed)
+ 6. Replace stderr with mesg for most output messages. deflate.c, fileio.c,
+ trees.c, util.c, zip.c, zipcloak.c, zipfile.c, zipnote.c, zipsplit.c
+ 7. Add mesg_line_started to track if need new line on mesg output and update
+ zipmessage() and zipwarn() to use it. Set mesg_line_started to 1 when
+ newline not last character written to mesg and 0 when it is. deflate.c,
+ zip.h, zip.c, globals.c, zipup(), fileio.c (Ed)
+ 8. Include base_path as parameter for get_split_path(). fileio.c (Ed)
+ 9. Account for VMS version in split path. Add vms_file_version(). fileio.c,
+ zip.c, vms/vms.c, vms/vms.h (SMS)
+10. Create crc16f() to create ANDed halves crc32 for Unicode using copy
+ of crc32() but may change to use main copy. zipfile.c, zip.h,
+ fileio.c (Ed)
+11. Close in_path and out_path in finish() and ziperr(). zip.c (Ed)
+12. Change perror() to strerror() and print to mesg in ziperr(). zip.c (Ed)
+13. Add find_next_signature() to find the next signature when reading a
+ zip file. zipfile.c (Ed)
+14. Add find_signature() to find a given signature from current point in
+ archive. zipfile.c (Ed)
+15. Add at_signature() to check if at a given signature in archive.
+ zipfile.c (Ed)
+16. Changes to scanzipf_regnew() but far from done. zipfile.c (Ed)
+17. Changes to readzipfile() to close input archive file and allow new
+ zipfile reader to open and close files as goes through splits.
+ zipfile.c (Ed)
+18. Change -s to default to MB and set minimum split size to 64k.
+ zip.c (Ed)
+19. Add link to user32.lib for CharToOem(). makefile.w32, makenoas.w32
+ (Cosmin)
+20. Remove unused Z64_EFPos. globals.c (Ed)
+---------------------- February 13th 2006 version 3.0f08 ----------------------
+ 1. Move option checks before any work is done. zip.c (Ed)
+ 2. Update bfcopy() to handle reading splits and remove input file
+ parameter and use global in_file. fileio.c (Ed)
+ 3. Change ask_for_split_read_path() to allow user aborting. fileio.c (Ed)
+ 4. Change get_split_path() to use standard file extensions from most
+ recent AppNote of .z01, .z02, ..., .z99, .z100, .z101, ... fileio.c (Ed)
+ 5. Change is_ascii_string to use 0x7F for ASCII detection. fileio.c (Ed)
+ 6. Add copy_only global for when -O is used to change the format of an
+ archive without changing the contents. This allows for converting an
+ archive to a split archive for instance. The global copy_only is used
+ to output status information for copies when normally copied files
+ have no status messages. globals.c (Ed)
+ 7. Add in_file, split_path, total_disks, current_in_disk, and
+ current_in_offset as globals to track reading splits. zip.h,
+ globals.c (Ed)
+ 8. Update copyright date. revision.h (Ed)
+ 9. Close in_file if open in finish(). zip.c (Ed)
+10. Add -O (big o) to extended help. zip.c (Ed)
+11. Remove readzipfile() from zipstdout() and use main call later down.
+ zip.c (Ed)
+12. Move archive reading and file scanning after command line checks.
+ zip.c (Ed)
+13. If -O out_zip and so have_out is set then set copy_only and allow
+ copying instead of error message *Nothing to do*. zip.c (Ed)
+14. If zipbeg is just 4 bytes and spanning then assume is spanning
+ signature and set zipbeg to 0 to ignore. zip.c (Ed)
+15. Don't open initial write test as modify if have_out is set and so have
+ a separate output file. zip.c (Ed)
+16. If zipbeg is 0 and nothing at beginning of archive to copy then don't
+ open input file until zipcopy() does. zip.c (Ed)
+17. If stuff at beginning then copy and close input file. Should be able
+ to keep it open but easier to close it and let zipcopy() reopen it.
+ zip.c (Ed)
+18. Add status message when copy_only set so something is displayed.
+ zip.c (Ed)
+19. Instead of closing x at bottom close in_file. The variable x was used
+ inconsistently and it seemed easier to make in_file global instead.
+ Then again y remains the global output variable. zip.c (Ed)
+20. Update copyright. zipnote.c, zipsplit.c, zipcloak.c (Ed)
+21. Change adjust_zip_local_entry() to return 1 if the entry is Zip64 and
+ 0 if not. This is needed to know how large the extended local header
+ is later. zipfile.c (Ed)
+22. Add read_Unicode_Path_local_entry() to read the local version of the
+ Unicode Path extra field. zipfile.c (Ed)
+23. Handle disk in adjust_zip_central_entry(). zipfile.c (Ed)
+24. Change USE_NEW_READ to SPLIT_SUPPORT as splits seems to be stable more
+ or less. zipfile.c (Ed)
+25. Add is_signature() to compate signatures. zipfile.c (Ed)
+26. Create scanzipf_fixnew(). It should look like scanzipf_regnew().
+ zipfile.c (Ed)
+27. Change scanzipf_regnew() to read the central directory and create zlist
+ and handle reading traditionally. Allows using central directory
+ information, in particular file sizes, in zipcopy() while reading
+ entries. Use global in_file instead of f for input file and set to NULL
+ when not a valid file so finish() only tries to close it if needed.
+ Check to make sure the End Of Central Directory record found is infact
+ the last one in case a stored archive is in the last 64 KB. Refuse
+ to update a split archive but recommend using -O instead. zipfile.c (Ed)
+28. Change readable check in readzipfile() to require input archive to exist
+ if using -O out_archive. zipfile.c (Ed)
+29. Change putlocal() to not create a Zip64 extra field unless needed and
+ on rewriting the local header to remove Zip64 extra field if was created
+ but not needed. Add check if assumed entry does not need Zip64 but does,
+ meaning probably the uncompressed size is less than 4 GB but the
+ compressed size is over 4 GB. zipfile.c (Ed)
+30. Change zipcopy() to use the global in_file and y files and to open and
+ close read splits as needed. Checks the local header against the
+ central directory header to verify same file, which should be as using
+ the disk and offset values from the central directory. Update disk and
+ offset in central directory. zipfile.c (Ed)
+31. Change out_path and out_len to base_path and base_len in
+ get_split_path(). fileio.c (SMS)
+32. Update command line options for VMS to include verbose splitting.
+ vms/zip_cli.cmd, vms/cmdline.c (SMS)
+33. Handle HP. unix/unix.c (SMS)
+34. Add adler16() checksum function. util.c (Cosmin)
+35. Use FILE_FLAG_BACKUP_SEMANTICS and a less demanding access mode
+ in CreateFile() when retrieving file attributes. Fixes a problem
+ when adding a directory entry from an NTFS or a CDFS partition
+ (i.e. one that stores timestamps using universal time), and the
+ directory timestamp is not the same daylight savings time setting.
+ The effect is an offset in the timestamp by one hour, if zip is
+ built using NT_TZBUG_WORKAROUND. The problem is not exposed,
+ however, if NO_W32TIMES_IZFIX is defined. win32/win32.c (Cosmin)
+---------------------- March 19th 2006 version 3.0f09 ----------------------
+ 1. Fix encryption problem where a large file with uncompressable data
+ can cause deflate to store bad data. See crypt.c for details.
+ Thanks to the nice people at WinZip for finding and providing the
+ details of this problem. crypt.c (Ed)
+ 2. Add note at top of Extended Help to refer to the Zip Manual. zip.c
+ (Ed)
+ 3. Update extended help for delete. zip.c (Ed)
+ 4. Change crypthead() to use buffer and bfwrite() which is split aware.
+ crypt.c (Ed)
+ 5. Create SPLIT_SUPPORT version of zipcloak() and zipbare() and read
+ local header rather than assume data using central header. crypt.c (Ed)
+ 6. Change zfwrite() to use global output file y. crypt.c (Ed)
+ 7. Remove in and out parameters from zipcloak() and zipbare() for
+ splits. crypt.h, zipcloak.c (Ed)
+ 8. Change get_split_path() to get_in_split_path() and get_out_split_path().
+ zipfile.c, fileio.c, zip.h (Ed)
+ 9. Change crc32f() to crc32u(). fileio.c, zip.h (Ed)
+10. Add encryption overwrite fix to copy_block() and remove from zfwrite().
+ crypt.c, tree.c (Ed, Christian)
+11. Add note on bug fix. WhatsNew (Ed)
+12. Add copy_only mode. zip.c (Ed)
+13. Make SPLIT_SUPPORT the default. zip.h (Ed)
+14. Add set_filetype(), rename_split(), and zipmessage(). zipcloak.c,
+ zipnote.c, zipsplit.c (Ed)
+15. Add long option support. zipcloak.c (Ed)
+16. Set in_path. zipcloak.c, zipnote.c, zipsplit.c (Ed)
+17. Use SPLIT_SUPPORT calls. zipcloak.c, zipnote.c, zipsplit.c (Ed)
+18. Set current_disk, cd_start_disk, and cd_entries_this_disk for use
+ by putend() and bytes_this_split for putcentral(). zipsplit.c (Ed)
+19. Include ctype.h for toupper(). zipfile.c (Ed)
+20. Add readlocal() for utilities to read local header. zipfile.c (Ed)
+21. Put Zip64 variables and code in ZIP64_SUPPORT ifdef in scanzipf_regnew().
+ zipfile.c (Ed, SMS)
+22. Use zip_fzofft() for converting offset. zipfile.c (Ed, SMS)
+23. Add casts to many append to memory calls. zipfile.c (Ed)
+24. Move handling of .zip split to get_in_split_path() and
+ get_out_split_path(). zipfile.c (Ed)
+25. Handle fix = 3 case for ZipNote that renames entries in zipcopy().
+ zipfile.c (Ed)
+26. Restore clearing of extended local header bit when not encrypting. When
+ encrypting need to output extended local header using putextended() in
+ zipcopy(). zipfile.c (Ed)
+27. Add notes on using file time for encrypting. zipup.c (Ed)
+28. Remove extended local header bit separately for z->lflg (local flags)
+ and z->flg (central directory flags). These should be the same but
+ could be different. zipup.c (Ed)
+29. Suppress command line globbing for MINGW. win32/win32.c (Christian)
+30. Add EF UT time fix for delete. zip.c (Christian)
+---------------------- April 28th 2006 version 3.0f10 ----------------------
+ 1. Add note to extended help to escape [ as [[] or use -nw. zip.c (Ed)
+ 2. Remove local declaration of tempfile as now global. zipnote.c,
+ zipcloak.c (SMS)
+ 3. Add zip_fzofft() for outputting uzoff_t bin size c. zipsplit.c (SMS)
+ 4. Add only_archive_set and clear_archive_bits to do Window archive bit
+ selection and clearing. Add -AS option to require DOS Archive bit
+ be set and -AC to clear archive bits of included files. Add
+ ClearArchiveBit() to clear archive bits after archive created.
+ Only Win32. globals.c, zip.h, zip.c, win32zip.c, win32.c (Ed)
+ 5. Change procname_win32() and readd() to check archive bit.
+ win32/win32zip.c (Ed)
+ 6. Update copyright. win32/win32zip.h (Ed)
+ 7. Add mesg_line_started = 0 to stats to remove blank line when clearing
+ archive bits. zipup.c (Ed)
+ 8. Add zip_fzofft() to format split size. zipsplit.c (SMS)
+ 9. Update help for splits and archive bit and add note on escaping [.
+ zip.c (Ed)
+10. Add -M option and bad_open_is_error to exit with error if any input
+ file unreadable. Also error if -M and would get "name not matched"
+ warning. zip.c (Ed)
+11. Copy Zip 2.32 csharp example, though it is designed for zip32.dll and
+ not zip32z64.dll from Zip 3.0. Updated note. windll/csharp (Ed)
+12. Change -M to -MM and define -mm to avoid accidental use of -m.
+ zip.c (Ed)
+13. Define split_method -1 to not allow splitting, mainly used when reading
+ a split archive to stop automatic splitting of output with same
+ split size. Now -s=0 or -s- disables splitting. zip.h, globals.c,
+ zip.c (Ed)
+14. Add fflush() after dots displayed. deflate.c, fileio.c, zipup.c (Ed)
+15. Instead of assuming buffer size as 32 KB for dots, use WSIZE for
+ compressing and SBSZ for storing and calculate as dots are counted.
+ Now dot_count and dot_size are bytes instead of buffers. Add dots
+ to Delete and Archive modes. zip.c, zipup.c, deflate.c, fileio.c (Ed)
+16. If reading a split archive and split size has not been given, get
+ size of first split read by zipcopy(), which should be the first
+ split, and set split size to that, making the output archive the same
+ split size as the input archive. Delay -sv split size message
+ if split size is 0 at first but then changed. zipfile.c (Ed)
+17. Add proc_archive_name() for new archive mode to process names in old
+ archive only and skip looking on the file system. Easier than modifying
+ the various port codes. fileio.c (Ed)
+18. Fix cd_start_offset bug. fileio.c (Ed)
+19. Create new action ARCHIVE that looks for matches only in old archive
+ for Copy Mode. If no input paths and there is an output archive,
+ Copy Mode is assumed even without ARCHIVE. Old default Copy Mode
+ when no input files updated to work like -U mode and allow filters.
+ New global copy_only currently only used to control global dots.
+ zip.c, fileio.c, globals.c, zip.h (Ed)
+20. Update help. Change extended help to more help. Update more help
+ to include internal modes delete and new Archive. Update help for
+ formatting options. Update help for wildcards. Remove streaming
+ examples from top basic section. Indent examples. Help for new
+ --out and Copy Mode. Add warnings that output using data descriptors
+ may not be compatible with some unzips. Update dots help and add
+ warning that dot size is approximate. Add help for new DOS archive
+ bit options. More help for -b and -MM. zip.c (Ed)
+21. Add support for Unix FIFO (named pipe). Add set_extra_field() stat
+ name ending in '/' fix found in Zip 2.32. unix/unix.c (Ed)
+22. Add check to not allow setting -U (internal copy) in similar cases to
+ -d (delete). zip.c (Ed)
+23. Add counts for internal modes Delete and Archive. Byte counts for -db
+ remain uncompressed size for external modes, but internal modes Delete
+ and Archive now use compressed sizes as these copy that many bytes.
+ zip.c (Ed)
+24. Add check for when ftell() wraps. zipup.c (Ed)
+25. Add mesg_line_started = 0 to result percentage message. zipup.c (Ed)
+26. Update contact information. unix/packaging/preinstall.in (SMS, Ed)
+27. A few Zip64 fixes to set Zip64 correctly and fix disk and offset of
+ Zip64 End Of Central Directory. zipsplit.c (Ed)
+28. Update comments for get_option(). fileio.c (Ed)
+29. Update DLL version. windll/windll.rc (SMS, Ed)
+30. New option -sf shows files that would be operated on. zip.c (Ed)
+---------------------- May 5th 2006 version 3.0f11 ----------------------
+ 1. Use C prototypes for Unicode functions. fileio.c (SMS)
+ 2. Change constant for mask in set_file_type from unsigned to signed.
+ trees.c (SMS)
+ 3. Use C prototypes for zip_fzofft() and zip_fuzofft() signed and
+ unsigned zoff_t formatting functions. util.c (SMS)
+ 4. Remove U from constants in Adler16 code. util.c, zip.h (SMS)
+ 5. Add spaces to VMS usage to avoid misinterpretation. zip.c (SMS)
+ 6. Add OF() to at_signature(). zipfile.c (SMS)
+ 7. Use zip_zofft() for entries error. zipfile.c (SMS)
+ 8. Remove U in constants in percent(). zipup.c (SMS)
+ 9. VMS command line updates. vms/cmdline.c, vms/descrip_deps.mms,
+ vms/vms_zip.rnh, zip_cli.cld, vms/zip_cli.help (SMS)
+10. Update to VMS help. vms/zip_cli.help (Ed)
+11. Check for memmove() and strerror(). Remove specific 64-bit support
+ for SunOS, as large file support now does. unix/configure (SMS)
+12. Add emergency replacements for memmove() and strerror().
+ unix/unix.c (SMS)
+13. Remove old not SPLIT_SUPPORT code. globals.c, zipnote.c, fileio.c,
+ crypt.h, crypt.c, zipcloak.c, zip.h, zip.c, zipup.c, zipsplit.c,
+ zipfile.c (Ed)
+---------------------- May 12th 2006 version 3.0f12 ----------------------
+ 1. Add UNICODE_SUPPORT ifdef around uname in zipup(). zip.c (SMS)
+ 2. Change size from uzoff_t to zoff_t in zipcopy(). zipfile.c (SMS, Ed)
+ 3. Fix a bug where filetime() returns -1 for device but not handled in
+ byte counts. zip.c (Ed)
+ 4. Add check for UnZip version and exit if not 6.00 or later if
+ a Zip64 archive. Define popen() and pclose() in Win32 to native
+ _popen() and _pclose(). ziperr.h, zip.c, win32/osdep.h (Ed)
+ 5. Add -sb option to ring bell when pause to change disk. Use new
+ global split_bell. global.c, zip.h, zip.c, fileio.c (Ed)
+ 6. Enable crc32u() and use for Unicode extra field. fileio.c (Ed)
+ 7. Add -dv to display volume being written to. zip.c, zip.h,
+ globals.c (Ed)
+ 8. Update WhatsNew. WhatsNew (Ed)
+ 9. Help updates. zip.c (Ed)
+10. Create option -X- (negated -X) to keep old extra fields and remove
+ -XX which is now -X. Make get_extra_field() global. Add
+ copy_nondup_extra_fields()to copy old extra fields not already
+ in new extra fields. zipup.c, zip.c, zipfile.c (Ed)
+11. Use output name oname for -sf option to show files that would be
+ worked on. zip.c (Ed)
+12. When updating or freshening old entries, read the old local header
+ with readlocal() to get local flags and extra fields. zip.c (Ed)
+13. Add UNICODE_SUPPORT ifdefs around uname code. zip.c (SMS, Ed)
+14. If WIN32_OEM set then on WIN32 store OEM name in archive. As read
+ DOS or WIN32 archives convert assumed OEM paths to ANSI. Remove old
+ WIN32_OEM code. Make oem_to_local_string() global for WIN32_OEM and
+ local_to_oem_string() global for WIN32_OEM and UNICODE_SUPPORT.
+ zip.h, zipfile.c, zipup.c, win32/win32.c, win32/win32zip.c (Ed)
+15. Update error 8 to include wrong unzip. ziperr.h (Ed)
+16. Change checksum for Unicode extra field to standard crc32 using
+ C version crc32u(). Add crctab.c. win32/vc6/zipnote.dsp,
+ win32/vc6/zipsplit.dsp, zipfile.c
+17. Update readlocal() to handle multi-disk archives if not UTIL.
+ zipfile.c (Ed)
+18. Convert size to signed zoff_t in zipcopy(). Update note.
+ zipfile.c (Ed)
+19. Update Readme. Readme (Ed)
+20. Add crctab.o to zipsplit and zipnote. unix/Makefile (Ed)
+21. Proposed update to license. License (Ed)
+---------------------- May 20th 2006 version 3.0f13 ----------------------
+ 1. Reformat License file. License (Cosmin)
+ 2. Change %d to %lu for disk number and add cast. zip.c (Cosmin, Ed)
+ 3. Display Scanning files message after delay at start based on
+ suggestion from Greg. Currently the time is checked every 100
+ entries processed. After 100 entries the start time is saved.
+ After 5 seconds or 100 entries after that, whichever takes
+ longer, the Scanning files message is displayed and every 2 seconds
+ or 100 entries, whichever takes longer, after that a dot is displayed.
+ fileio.c, zip.c, globals.c, zip.h (Greg, Ed)
+ 4. Add Unicode mismatch flag and option -UN. Default is now a Unicode
+ mismatch is an error. -UN=warn outputs warnings and continues,
+ -UN=ignore disables warnings, and -UN=no ignores the Unicode extra
+ fields. globals.c, zip.h, zipfile.c (Ed)
+ 5. Add options for VMS. vms/cmdline.c, vms/zip_cld.cld (SMS)
+ 6. Add casts to percent(). zipup.c (Ed)
+ 7. Minor changes to logfile formatting. zip.c (Ed)
+ 8. Update help. zip.c (Ed)
+ 9. Add -Z=compression-method option. zip.c (Ed)
+10. Add sd: to -sd status messages. zip.c (Ed)
+11. Instead of original argv[] use args[] for -sc show command line
+ to show final command line. zip.c (Ed)
+12. Change argv[] to args[] for logfile. zip.c (Ed)
+13. Put results of -sf show files in log file if open. zip.c (Ed)
+14. Add Johnny's bzip2 patch but not tested. win32/makefile, zip.c,
+ zip.h, zipup.c (Johnny)
+15. Minor tweeks to bzip2 to work with latest beta. zip.c, zipup.c (Ed)
+16. Add -sf- to list files that would be included only in log file
+ and not on stdout as list can be long. Only list totals on stdout.
+ zip.c (Ed)
+17. Create check_unzip_version(). Fix Unix check. Zip still creates
+ the temporary archive then does the check, and if it fails
+ the archive is deleted, even if the check fails because of the wrong
+ verion of UnZip. On Unix only 'unzip' the system version of UnZip
+ is checked, not './unzip' which would allow putting a local more
+ up to date version of UnZip in the current directory for the check.
+ There should be a way to override the system version of UnZip for
+ the -T test. zip.c (Ed)
+---------------------- July 12th 2006 version 3.0f14 ----------------------
+ 1. Change crypt version from 2.10 to 2.91 to match Zip 2.32 and avoid
+ confusion. crypt.h (Cosmin)
+ 2. Add abbrevmatch() to handle option values that can be abbreviated
+ like compression method. util.c, zip.h, zip.c (Ed)
+ 3. Change USE_BZIP2 to BZIP2_SUPPORT as USE_BZIP2 implies it replaces
+ deflation maybe. zip.c, zip.h, zipup.c (Ed)
+ 4. Update man page. man/zip.1, zip.txt (Ed)
+ 5. Add bzip2 to VMS. vms/build_zip.com, vms/bzlib.h, vms/cmdline.c,
+ vms/descrip.mms, vms/descrip_src.mms, vms/find_bzip2_lib.com,
+ vms/install_vms.txt, vms/zip_cli.cld (SMS)
+ 6. Remove zipfile parameter from bzfilecompress(). Add unsigned
+ cast for EOF in bzip2 code. Add bzip2 version information.
+ zipup.c, zip.c (SMS)
+ 7. Add bzip2 to Unix. unix/configure (SMS)
+ 8. Add and update bzip2 descriptions. INSTALL, README, WhatsNew,
+ bzip2/install.txt (SMS, Ed)
+ 9. Add vc6bz2 projects for compiling bzip2 code into zip (not the
+ best approach perhaps). win32/vc6/readmevc.txt,
+ win32/vc6bz2/readvcbz.txt, win32/vc6bz2/zip.dsp, win32/vc6bz2/zip.dsw,
+ win32/vc6bz2/zipcloak.dsp, win32/vc6bz2/zipnote.dsp,
+ win32/vc6bz2/zipsplit.dsp (Ed)
+10. Add support for VC++ 2005 by disabling deprecation. win32/osdep.h
+ (Cosmin)
+11. Update instructions for makefile. unix/Makefile (Ed)
+12. Update todo list. todo30.txt (Ed)
+13. Reduce #if 0 block to now allow extra data message. zipfile.c (Ed)
+14. Add note that readlocal() reads local headers. zipfile.c (Ed)
+15. Archive comment was not being read by new scanzipf_regew(). Added.
+ zipfile.c (Ed)
+16. Handle reading and writing OEM comments. zipfile.c (Ed)
+17. Update Zip64 data descriptor note. zipfile.c (Ed)
+18. Format filetypes() check. zipup.c (Ed)
+19. Update note to remember to force deflation for descriptors by
+ release. zipup.c (Ed)
+20. In compression code using libraries, enable dots for noisy also.
+ zipup.c (Ed)
+21. Update extended help to add more of the basic options and
+ compression method. zip.c (Ed)
+22. Add additional lines bz_opt_ver2 and bz_opt_ver3 to bzip2
+ version to give credit to bzip2. zip.c (Ed)
+23. Add descriptions to version information for USE_EF_UT_TIME,
+ NTSD_EAS, WILD_STOP_AT_DIR, WIN32_OEM, LARGE_FILE_SUPPORT,
+ ZIP64_SUPPORT, and UNICODE_SUPPORT similar to how UnZip does.
+ zip.c (Ed)
+24. Add note that crypt is modified in Zip 3. zip.c (Ed)
+25. Use abbrevmatch() and update warnings for compression
+ method selection. zip.c (Ed)
+26. Update config to handle either using IZ_BZIP2 to define
+ the location of the bzip2 files or the bzip2 directory.
+ unix/configure, zipup.c, zip.c (SMS, Ed)
+---------------------- July 14th 2006 version 3.0f15 ----------------------
+ 1. Change USE_BZIP2 to BZIP2_SUPPORT in VMS. vms/descrip_src.mms,
+ vms/build_zip.com (SMS)
+ 2. Add SYS$DISK:. vms/descrip.mms, vms/build_zip.com (SMS)
+ 3. Change vms/install.txt to [.vms]install.txt. bzip2/install.txt (SMS)
+ 4. Change VMS files to lower case. vms/mod_dep.com, vms/install_vms.txt,
+ vms/zip.opt, vms/hlp_lib_next.com, vms/notes.txt, vms/unixlib_gcc.h,
+ vms/unixio_gcc.h (SMS)
+ 5. Remove old VMS files. vms/descrip-old.mms (removed),
+ vms/link_zip.com (removed), vms/make_zip.com (removed),
+ vms/makefile.vms (removed) (SMS)
+---------------------- July 24th 2006 version 3.0f16 ----------------------
+ 1. Fix global dots so can set with dot size. deflate.c, fileio.c (Ed)
+ 2. Update License top line to refer only to license. License (Cosmin)
+ 3. Update License. License (Ed)
+ 4. Implement zero length UTF-8 path length as flag standard path is UTF-8
+ and should use that. This allows Zip to use the standard path as
+ UTF-8 when the local character set is UTF-8. zipfile.c (Ed)
+ 5. Update WhatsNew. WhatsNew (Ed)
+ 6. Change case of bzip2/install.txt. INSTALL (Ed)
+ 7. Change MANUAL.txt to ZIP.txt and update ftp site. README (Ed)
+ 8. Update announcement. zip30f.ann (Ed)
+ 9. Now also check if OS has bzip2 library and can use that.
+ unix/configure, zip.c (Mark Adler, Ed)
+10. Add fix from akt@m5.dion.ne.jp in Japan to recurse on doublebyte
+ characters without processing in recmatch(). This should not be needed
+ unless the rest of the code in there is broke for Japanese character
+ sets in some way. Need to test. util.c (Ed)
+11. Add note for bzip2. zip.c (Ed)
+12. Do not do seek wrap test if ftell() returns -1 as from a pipe. Add
+ output of last ftell() and current ftell() for zipfile too big seek
+ error. zipup.c (Ed)
+13. Add version to the options table. Remove the check to display version
+ before the command line is processed. Add to option -v a check to
+ display the version if that is the only argument. Can still enable
+ verbose with piping by using zip -v - - format. zip.c (Ed)
+14. Add abbrevmatch() for -UN option. zip.c (Ed)
+---------------------- August 7th 2006 version 3.0f17 ----------------------
+ 1. Change license modifications to retain intent of copyright holders, as
+ any major change in license conditions would require contacting all
+ copyright holders. LICENSE (Greg, Ed)
+ 2. Move debugging statement after zipstdout() where mesg is set to stderr.
+ Add mesg and fflush() to sd messages where needed so that messages go
+ to stderr when piping. zip.c (Ed)
+ 3. Update encryption comment. zipup.c (Ed)
+ 4. Do not use data descriptors for directories. zipup.c (Mark, Ed)
+ 5. Update Q & A to match license. README (Ed)
+ 6. Update WhatsNew. WHATSNEW (Ed)
+ 7. Add ifndef around version_info() for dll. zip.c (Ed)
+ 8. Add -TT (--unzip-path) to allow setting the unzip command to use with
+ -T to test the archive. zip.c (Ed)
+ 9. Add -DF (--difference-archive) which requires --out and turns off
+ copying unchanged entries to the new archive creating an archive with
+ just the changes and additions since the original archive was created.
+ zip.c, globals.c, zip.h (Ed)
+10. Update help. zip.c (Ed)
+---------------------- September 7th 2006 version 3.0f18 ----------------------
+ 1. Split -t and -tt options and remove limitation that only one can be
+ used to allow setting a date range. zip.c, WhatsNew (Ed)
+ 2. Minor changes in comments. zipfile.c (Ed)
+ 3. Add entries for format of Unicode Path and Unicode Comment extra fields.
+ proginfo/extrafld.txt (Ed)
+ 4. Change note at top of infozip.who, but needs to be updated with all new
+ contributors. proginfo/infozip.who (Ed)
+ 5. Note Zip 3 and UnZip 6 now support Zip64. proginfo/ziplimit.txt (Ed)
+ 6. Add note on Unicode. README (Ed)
+ 7. Update WHATSNEW. WHATSNEW (Ed)
+ 8. Update help. zip.c (Ed)
+ 9. Add {} support to -TT option, allowing insertion of temp archive path
+ into the command string to -TT similar to Unix find does. zip.c (Ed)
+10. Start changes for -F fix option. Add checks when reading input archive
+ and skip bad central directory entries and bad local entries. Currently
+ -F requires the central directory to be intact (except for bad CD entries
+ that will be skipped) and local entries and data to be where the
+ central directory say they are. This allows all recovered entries to
+ be complete with all central directory information. Calculate CRC of
+ input entry and compare to CRC from central directory. Allow skipping
+ split disks the user may not have. Store state of output archive
+ before each local entry and data are read, allowing seeking back and
+ restoring state to skip bad entries. fileio.c, global.c, zipfile.c,
+ zip.h (Ed)
+11. Started changes for fixfix. fileio.c (Ed)
+12. Update help on -t and -tt. zip.c (Ed)
+13. Add note on Unicode support, but may change if add handling of names
+ with characters not supported in current character set. README (Ed)
+14. Combined ToDo30.txt and ToDo but more to be done. TODO (Ed)
+15. Update ToDo list. ToDo30.txt (Ed)
+16. Add -F and -FF to help. zip.c (Ed)
+17. Run fix mode in copy mode, as it is copying from one archive to
+ another, and use those checks. zip.c (Ed)
+18. Add Try -F and Try -FF warnings in places. zipfile.c (Ed)
+19. Allow reading version 4.6 (bzip2) archives. zipfile.c (Ed)
+20. Add Unicode Path and Unicode Comment extra field descriptions.
+ proginfo/extrafld.txt (Ed)
+21. First attempt at updating the Who file. proginfo/infozip.who (Ed)
+22. Add note to top of ziplimit.txt. proginfo/ziplimit.txt (Ed)
+23. Add possible fix for paths returned by the Win32 directory scan with
+ '?' in the name. These are characters in the Unicode name stored on
+ disk but not represented in the multi-byte character set used by zip
+ for the scan. In this case, return the short name in 8.3 format so
+ directory scan can continue. Could put the Unicode name in the Unicode
+ extra field, but not done. Add warning when long name is replaced
+ by short name. Not fully tested. win32/win32zip.c, zip.h, zip.c,
+ fileio.c (Ed)
+24. If archive name and -sf are the only parameters, list archive contents.
+ zip.c (Ed)
+---------------------- September 8th 2006 version 3.0f19 ----------------------
+ 1. Fix error message. zipfile.c (SMS, Ed)
+ 2. Put crc32() in ifndef UTIL as only needed for fix. fileio.c (SMS, Ed)
+---------------------- November 3rd 2006 version 3.0f20 -----------------------
+ 1. Fix comment. vms/vmszip.c (SMS)
+ 2. Include oem_to_local_string() if UNICODE_SUPPORT. win32/win32.c,
+ zip.h (Ed)
+ 3. Modify procname_win32() to flag a path not supported by the local
+ character set so can get Unicode for it. Check Unicode names.
+ win32/win32zip.c (Ed)
+ 4. Add matching of escaped Unicode names to proc_archive_name() that
+ reads entries from an archive. Add sorted zlist zusort.
+ globals.c, fileio.c, zip.h, zipfile.c (Ed)
+ 5. Add support for non-local character set names and paths for WIN32,
+ getting and storing the UTF-8 path when needed. Use 8.3 name
+ when normal name has characters not supported in current local
+ character set. Note when short name used. zip.c, fileio.c (Ed)
+ 6. Add support for fix = 2 which reads local headers first to
+ bfcopy(). fileio.c, zip.h (Ed)
+ 7. Allow selection of .zip split in ask_for_split_read_path() when
+ reading a split archive that has no end records giving the total
+ split count. fileio.c (Ed)
+ 8. Add zoff_t casts to dot counts. fileio.c (Ed)
+ 9. Comment changes for Unicode. fileio.c (Ed)
+10. Call wide_to_local_string() separately in utf8_to_local_string()
+ to free up temp value. fileio.c (Ed)
+11. Support new AppNote bit 11 for forcing UTF-8, but needs finishing.
+ globals.c (Ed)
+12. Add to zlist struct zuname for the escaped version of the UTF-8
+ name in uname and add ouname for the display version of zuname.
+ zip.c, zip.h, zipfile.c (Ed)
+13. Add zipmessage_nl() that can output to the screen and to the log
+ file like zipmessage(), but can write lines without a newline.
+ zip.c, zip.h, zipcloak.c, zipnote.c, zipsplit.c (Ed)
+14. Update help for -FF and Unicode. zip.c (Ed)
+15. Change > to >= for byte message check to avoid -0 (negative zero).
+ zip.c (Ed)
+16. Add -su show unicode option which adds escaped unicode paths to
+ -sf. Also uses show_files = 3. zip.c (Ed)
+17. Update comments for -UN and -X. zip.c (Ed)
+18. Add support for new AppNote bit 11 that says standard path and
+ comment have UTF-8 when -UN=f is used. zip.c (Ed)
+19. Fix zipfile name message by replacing value with zipfile.
+ zip.c (Ed)
+20. Add new code for -FF, which processes archives by trying to read
+ the EOCDR to get split count, then starting with the local
+ entries. This option does not use the standard code but does
+ everything itself. Add scanzipf_fixnew(), which tries to read
+ the EOCDR, then the local entries, then the central directory.
+ zip.c, zipfile.c (Ed)
+21. Update note for ZIP64_CENTRAL_DIR_TAIL_SIZE. zipfile.c (Ed)
+22. Put read_Unicode_Path_entry() and read_Unicode_Path_local_entry()
+ into UNICODE_SUPPORT ifdef. zipfile.c (Ed)
+23. Add zuqcmp() and zubcmp() to support Unicode sorted list of
+ paths. zipfile.c (Ed)
+24. Update zsearch() to also search unicode paths. zipfile.c (Ed)
+25. Split out iname in read_Unicode_Path_entry() for debugging.
+ Should put it back. Update Unicode mismatch warning.
+ zipfile.c (Ed)
+26. Update Unicode in readlocal(). zipfile.c (Ed)
+27. Add more Unicode support to scanzipf_regnew(). zipfile.c (Ed)
+28. Add support for fix = 2 to zipcopy(). Add checks and warnings,
+ but allow scan to continue when can. Use local data to fill
+ in central directory fields in case no central directory entry
+ for local entry. zipfile.c (Ed)
+29. Add get_win32_utf8path() to get UTF-8 from Windows if can.
+ zipfile.c (Ed)
+---------------------- November 7th 2006 version 3.0f21 -----------------------
+ 1. Add crude data descriptor support to -FF in bfcopy() that should be
+ updated by release. fileio.c (Ed)
+ 2. Change %d to %s and use zip_fzofft() to format zoff_t byte count.
+ zipfile.c (SMS, Ed)
+ 3. Call local_to_oem_string() for only WIN32 in zipcopy(). zipfile.c
+ (SMS, Ed)
+---------------------- November 29th 2006 version 3.0f22 -----------------------
+ 1. Change ' to " in extended help. zip.c (Ed)
+ 2. Change -dv disk number display to indisk>outdisk. zip.c (Ed)
+ 3. Finish -FF fix option. Move detailed output to require -v. zip.c (Ed)
+ 4. Add note to help to use -v with -FF to see details. zip.c (Ed)
+ 5. Add -sU option to view only Unicode names when exist. zip.c (Ed)
+ 6. Change default dot size in verbose from every buffer to 10 MB. zip.c (Ed)
+ 7. Exit if --out and in path same as out path. zip.c (Ed)
+ 8. Remove verbose information when fixing archive. zip.c (Ed)
+ 9. Initialize in disk to 0, but still problem with disk number of first entry
+ for each disk lagging by 1. zip.c (Ed)
+10. Consistently use ZE error codes for exit from ask_for_split_read_path.
+ zipfile.c, zip.c (Ed)
+11. Seek back when fix finds bad entries. Also skip last entry of split
+ if next split is missing. Should check if entry completed. zip.c (Ed)
+12. Add messages to -sd for writing the central directory, replacing the old
+ zip file, and setting file type. zip.c (Ed)
+13. Don't set file type on stdout. zip.c (Ed)
+14. Increase errbuf from FNMAX + 81 to FNMAX + 4081. zip.h (Ed)
+15. Add skip_this_disk, des_good, des_crc, des_csize, and des_usize globals
+ for -FF and reading data descriptors. Change note on display_volume.
+ Add global skip_current_disk. zip.h, globals.c (Ed)
+16. BFWRITE_HEADER define now also does data descriptor. zip.h (Ed)
+17. Skip zipoddities() if fix. Maybe can later add back. zipfile.c (Ed)
+18. Update fix messages. zipfile.c (Ed)
+19. Allow user to end archive early using ZE_EOF. zipfile.c, fileio.c (Ed)
+20. Only show split numbers and offsets for -FF if verbose. zipfile.c (Ed)
+21. Handle spanning signature at top of split archive. zipfile.c (Ed)
+22. Only close in_file if open. zipfile.c (Ed)
+23. Add note if no .zip and only splits suggest use -FF. zipfile.c (Ed)
+24. In putlocal() and putcentral() only convert to OEM if z->vem == 20.
+ zipfile.c (Ed)
+25. Do not OEM convert archive comment as PKWare says this should
+ be ASCII. zipfile.c (Ed)
+26. Fix swap of siz and len and LOCSIZ and LOCLEN. zipfile.c (Ed)
+27. Call read_Unicode_Path_local_entry() before OEM conversion so Unicode
+ checksum checks iname before conversion. zipfile.c (Ed)
+28. Only check if local and central crc match if not stream entry.
+ zipfile.c (Ed)
+29. Keep data descriptors if fix == 2, but need to look at this.
+ zipfile.c (Ed)
+30. Fix bug adding up header bytes in n by adding 4 for signature.
+ zipfile.c (Ed)
+31. If fix == 2 use local crc for central, otherwise use central crc
+ for local. zipfile.c (Ed)
+32. In zipcopy(), check data descriptor and skip if not correct one.
+ zipfile.c (Ed)
+33. Add SH, LG, and LLG macros from zipfile.c to allow reading the data in
+ the data descriptor. fileio.c (Ed)
+34. In bfcopy(), read and check the data descriptor if n == -2. If
+ run out of bytes before find descriptor, return error. fileio.c (Ed)
+35. In ask_for_split_read_path(), increase buf to SPLIT_MAX_PATH + 100,
+ fix bug by adding "- 1", set split_dir = "" if current directory,
+ and update prompts to add skip and end choices. Add skip and end
+ choices. fileio.c (Ed)
+36. Increase buffer for fgets to SPLIT_MAXPATH. fileio.c (Ed)
+37. Update WhatsNew. WhatsNew (Ed)
+---------------------- December 10th 2006 version 3.0f23 -----------------------
+ 1. Handle additional ODS5 issues by upper casing many symbols and file names.
+ vms/build_zip.com, vms/collect_deps.com, vms/descrip.mms,
+ vms/descrip_mkdeps.mms, vms/descrip_src.mms, vms/find_bzip2_lib.com (SMS)
+ 2. Update VMS Find Help Library code. vms/hlp_lib_next.com (SMS)
+ 3. Instead of tempname use temp_name as parameter to avoid function
+ tempname(). zipsplit.c, zipnote.c, zipcloak.c, zip.c (Ed)
+ 4. If fixing archive with -FF and no EOCDR to get disk count, see if top of
+ archive has spanning signature or local header and guess if it is
+ single-disk archive, then ask user to confirm. zipfile.c (Ed)
+ 5. For Unix where NO_MKSTEMP is not defined, replace mktemp() with mkstemp()
+ that avoids a race condition. zip.c, zipcloak.c, zipnote.c, fileio.c (Ed)
+ 6. Eliminate mkstemp() warning by using mkstemp() instead of mktemp() for
+ Unix. Only for UNIX and if NO_MKSTEMP is not defined. Many OS do not
+ have mkstemp(). zipcloak.c, zipnote.c, zip.c, fileio.c (Ed)
+ 7. If UNICODE_SUPPORT and UNIX then try to switch to UTF-8 locale to allow
+ displaying of Unicode, otherwise just get escapes. This results in some
+ characters displaying as whitespace if needed fonts, such as East Asian,
+ are not installed. zip.c (Ed)
+ 8. If new global unicode_escape_all is set, then escape all non-ASCII
+ characters when converting Unicode file path. This allows viewing paths
+ as escapes on Unix that would otherwise be white space. If not set, any
+ characters that map to the current locale are returned as is. Can only
+ display if either supported as base by the OS or fonts installed. Set
+ using -UN=escape option. zip.c, fileio.c, zip.h, globals.c (Ed)
+ 9. Update extended help for Unicode. zip.c (Ed)
+10. All variables used by Win32 in global.c should now be initialized at
+ start so dll is initialized each call. zip.c (Ed)
+---------------------- January 1st 2007 version 3.0f24 -----------------------
+ 1. Fix a problem when building with (old, obsolete) IM attribute encoding
+ combined with bzip2 support. vms/descrip_src.mms (SMS)
+ 2. Update WHATSNEW. WhatsNew (Ed)
+ 3. Update README. ReadMe (Ed)
+ 4. Remove in_crc code. Too involved to implement but may look at later.
+ fileio.c, globals.c, zip.c (Ed)
+ 5. Use 0x50 and 0x4b for 'P' and 'K' in signatures to handle EBCDIC case.
+ zipfile.c, fileio.c (Ed)
+ 6. Implement new -FS file sync option that deletes entries missing on the
+ file system from an archive being updated. globals.c, zip.c (?, Ed)
+ 7. Update help. zip.h, zip.c (Ed)
+ 8. Include scanning files dots when update small but new file scan long.
+ zip.c (Ed)
+ 9. Ask if single-file archive when using -FF and can't tell. zipfile.c (Ed)
+10. Display message when entry would be truncated. zipfile.c (Ed)
+11. Check for VMS_IM_EXTRA. Update bzip2 support for VMS. Change
+ destination directory if large-file enabled. vms/build_zip.com,
+ vms/descrip_src.mms (SMS)
+12. Change parameters for VMS bzip2 search. vms/find_bzip2_lib.com (SMS)
+---------------------- January 12th 2007 version 3.0f25 -----------------------
+ 1. Incorporate faster crc32.c including the Rodney Brown changes (originally
+ implemented in the zlib project) from UnZip, which includes the
+ IZ_CRC_BE_OPTIMIZ and IZ_CRC_LE_OPTIMIZ optimizations when those symbols
+ are defined. These modifications include:
+ - enlarge unrolling of loops to do 16 bytes per turn
+ - use offsets to access each item
+ - add support for "unfolded tables" optimization variant
+ crc32.c (Christian)
+ 2. As the crc32.c module now includes crc table generation, remove crctab.c.
+ crctab.c (remove) (Christian)
+ 3. Update crc i386 assembler code from UnZip (details see above).
+ win32/crc_lcc.asm, win32/crc_i386.asm, win32/crc_i386.c, crc_i386.S
+ (Christian)
+ 4. Guard against redefinition of symbols @CodeSize and @DataSize in memory
+ model setup section to work around Open Watcom (version 1.6) wasm
+ assembler problem. msdos/crc_i86.asm (Christian)
+ 5. Change type of keys[] array for new crc, add IZ_CRC_BE_OPTIMIZ, and
+ use new crypt crc table. Use header buffer instead of buf for header.
+ crypt.c, crypt.h (Christian)
+ 6. Update version and remove crc table. crypt.h (Christian)
+ 7. Add crc32.h, change sprintf() format for disk number from d to lu as
+ can go over 16-bit, remove crc32u(). fileio.c (Christian)
+ 8. Update to use new crc. msdos/makefile.bor, msdos/makefile.dj1,
+ msdos/makefile.dj2, msdos/makefile.emx, msdos/makefile.msc,
+ msdos/makefile.tc, msdos/makefile.wat, unix/Makefile,
+ vms/build_zip.com, vms/descrip_deps.mms, vms/descrip_src.mms,
+ vms/osdep.h, win32/makefile.bor, win32/makefile.dj, win32/makefile.emx,
+ win32/makefile.gcc, win32/makefile.ibm, win32/makefile.lcc,
+ win32/makefile.w10, win32/makefile.w32, win32/makefile.wat,
+ win32/makenoas.w32, win32/vc6/zip.dsp,
+ win32/vc6/zipcloak.dsp, win32/vc6/zipnote.dsp, win32/vc6/zipsplit.dsp,
+ win32/vc6bz2/zip.dsp, win32/vc6bz2/zipcloak.dsp, win32/vc6bz2/zipnote.dsp,
+ win32/vc6bz2/zipsplit.dsp, windll/visualc/dll/zip32.dsp,
+ windll/visualc/dll/zip32.mak, windll/visualc/lib/zip32.dsp,
+ win32/visualc/lib/zip32.mak (Christian)
+ 9. Include crc32.h. Make variable uname local in proc_archive_name().
+ Remove unused num and new_base_path. Change %02d to %02l2 for
+ disk number in print format. Remove crc32u() as now use crc32().
+ Add parentheses around conditions in loops. Use 0 instead of NULL
+ for zwchar. fileio.c (Christian)
+10. Add z_uint4 defines from crypt.c to tailor.h. Move uch, ush, and ulg
+ typedefs before tailor.h include which needs them. tailor.h, zip.h (SMS)
+11. Include crc32.h. change add_name() to return not int but long
+ since number of command line arguments can exceed 16 bits. Cast
+ variable option to (int) for subtraction. Change 0x400 to 0x400L.
+ Add braces to show_files print block. zip.c (Christian)
+12. Add warning if use -F or -FF without --out. Change defined(NO_MKSTEMP)
+ to !defined(NO_MKSTEMP). zip.c (Ed)
+13. Define EC64LOC and EC64REC for size of Zip64 EOCD Locator and Zip64
+ EOCD Record. Add extern for crc_32_tab. Move crc32() to crc32.h.
+ zip.h (Christian)
+14. Add crc.h. zipcloak.c (Christian)
+15. Include crc32.h. Comment out scanzipf_reg() and scanzipf_fix() as
+ no longer used, which are left in for now for comparison. Cast
+ blocksize to extent for malloc(). Instead of 0x10000 malloc 0xFFFF for
+ extra field block so fits in 16 bits. Instead of crc32u() use crc32().
+ Only do lflg != flg check for fix == 2. Add comments to various #endif.
+ Indent comment. Comment out copy_sig() which is not used. Reduce size
+ of SCAN_BUFSIZE to EC64REC for MEMORY16. Use ENDHEAD for EOCDR size.
+ Change %u to %lu in print formats for disk count. Use EC64LOC for size
+ of Zip64 EOCD Locator. Use EC64REC for size of Zip64 EOCD Record.
+ Add streaming and was_zip64 to ZIP64_SUPPORT. Remove lflg != flg check
+ in zipcopy(). zipfile.c (Christian)
+16. Add note that z-flg & ~0xf check will fail if new bit 12 for UTF-8 paths
+ and comments is set. Update -FF warning. zipfile.c (Ed)
+17. Include crc32.h. Modify tempzn update. Fix comment. Set
+ z->lflg = z->flg after deflate as deflate may have set bits in z->flg
+ [Ed, Christian]. Include BZIP2_SUPPORT block in !UTIL block. zipup.c
+ (Christian)
+18. Changes to use crc32.c. acorn/gmakefile, acorn/makefile, amiga/lmkfile,
+ amiga/makefile.azt, amiga/smakefile, aosvs/make.cli, atari/makefile,
+ atheos/makefile, beos/makefile, cmsmvs/cczip.exec, cmsmvs/mvs.mki,
+ cmsmvs/zip.makefile, cmsmvs/zipmvsc.job, cmsmvs/zipvmc.exec,
+ human68k/makefile, human68k/makefile.gcc, novell/makefile, novell/zip.lnk,
+ os2/makefile.os2, qdos/makefile.qdos, qdos/makefile.qlzip, tandem/history,
+ tandem/macros, tandem/tandem.h, theos/makefile, tops20/make.mic,
+ unix/configure, unix/makefile, win32/makefile.a64 (Christian)
+19. Add note to use BZ_NO_STDIO. bzip2/install.txt (Ed)
+20. Remove crctab. cmsmvs/zipvmc.exec (Ed)
+21. Update comment. macos/source/pathname.c (Christian)
+22. Start of manual update. Zip.1 (Ed)
+23. Changes to use crc32.c. vms/descrip.mms, vms/descrip_deps.mms,
+ vms/descrip_mkdeps.mms, vms/descrip_src.mms, vms/vms.c (SMS)
+---------------------- January 17th 2007 version 3.0f26 -----------------------
+ 1. Add note for UnZip. crypt.c (Christian)
+ 2. Change current_disk and disk_number from int to ulg. Change num from int
+ to unsigned int. [Even though a 16-bit system likely won't see more than
+ 64k disks, it probably should be ulg - Ed] Remove unused mbsize. Change
+ match from long to int as the number of possible options should always fit
+ in that. fileio.c, globals.c (Christian)
+ 3. Use -Gt to force some data into separate data segments so all data fits.
+ msdos/makefile.msc (Christian)
+ 4. Move some copyright constants to far to save near space.
+ revision.h (Christian)
+ 5. Change u for character from int to unsigned int. util.c (Christian)
+ 6. Move include of crc32.h from vms/vms.c to vms/vms_pk.c. vms/vms.c,
+ vms/vms_pk.c (Christian)
+ 7. Update crci386_.o. win32/makefile.gcc (Christian)
+ 8. Use NOASM=1 to disable assembler and clear variables when do not.
+ win32/makefile.w32 (Christian)
+ 9. Remove unused totalslashes and returnslashes from get_win32_utf8path().
+ win32/win32zip.c (Christian)
+10. Remove local versions of tempzip and tempzf.
+ zip.c (Christian)
+11. Make options[] far. Change cd_start_disk from int to ulg. Cast -1 to
+ (ulg) for cd_start_disk. Put here = zftello() in DEBUG defines.
+ zip.h, zip.c (Christian)
+12. Change length of zipfile comment parameter from ush to extent. Change
+ disk numbers from int to ulg in close_split(), ask_for_split_read_path(),
+ ask_for_split_write_path(), get_in_split_path(), find_in_split_path(),
+ get_out_split_path(). Add Far to longopt and name strings in
+ option_struct. zip.h (Christian)
+13. Add far to options[]. zipcloak.c (Christian, Ed)
+14. Define write_string_to_mem() only for UNICODE_SUPPORT. Change ulg to
+ extent for append to mem memory offset and blocksize parameters. Make
+ at_signature() local. Cast usValue to char. Remove unused oname in
+ read_Unicode_Path_local_entry(). Remove local definitions of zip64_entry
+ as Zip is always processing one entry at a time and this is a global
+ flag for the current entry. Make find_next_signature() and
+ find_signature() local. Add ZCONST to signature parameter. Make
+ is_signature() and at_signature() local. Change m, result of fread(),
+ from int to extent. Reduce SCAN_BUFSIZE from 0x40000 to the size of the
+ largest header being read. As find_next_signature() is used to scan for
+ the next signature and that reads a byte at a time, the scan buf is only
+ used to read in the found headers. Since we skip the extra parts of the
+ Zip64 EOCDR, all headers are a fixed size. Remove unused variables from
+ scanzipf_fixnew(). Use ENDCOM for end comment offset. Instead of 64 KB
+ seek back 128 KB to find EOCDR. Use ENDOFF and ENDTOT for offsets in
+ EOCDR. Remove tabs. Merge versions of putend(). Update Amiga SFX.
+ Remove unused offset in zipcopy(). Make size local in zipcopy().
+ zipfile.c (Christian)
+15. Update putend() comment. zipfile.c (Ed)
+16. Add far to options[]. zipnote.c, zipsplit.c (Christian)
+17. Add NO_ASM versions of Win32 zipnote, zipsplit, and zipcloak projects.
+ Add crc32.h and crc32.c to zipsplit and zipnote projects.
+ win32/vc6/zipsplit.dsp, win32/vc6/zipnote.dsp, win32/vc6/zipcloak.dsp (Ed)
+18. Add NO_ASM versions of Win32 bzip2 zipnote, zipsplit, and Zipcloak
+ projects. Add crc32.h and crc32.c. win32/vc6bz2/zipsplit.dsp,
+ win32/vc6bz2/zipnote.dsp, win32/vc6bz2/zipcloak.dsp (Ed)
+19. Update Win32 dll and lib projects and make files.
+ windll/visualc/lib/zip32.dsp, windll/visualc/lib/zip32.mak,
+ windll/visualc/dll/zip32.dsp, windll/visualc/dll/zip32.mak (Ed)
+20. Remove space in front of #ifdef and other conditionals that slipped in.
+ zipfile.c, zipup.c (SMS)
+21. Updates for bzip2. vms/bzlib.h, vms/install_vms.txt (SMS)
+22. Updates. vms/notes.txt (SMS)
+23. Update copyrights. crc32.c, deflate.c, globals.c, revision.h, ziperr.h,
+ trees.c, win32/nt.c, win32/win32.c, win32/win32i64.c, win32/win32zip.h,
+ win32/zipup.h (Ed)
+24. Update WhatsNew. WHATSNEW (Ed)
+---------------------- February 4th 2007 version 3.0f27 -----------------------
+ 1. Fix array sizes and loop lengths in wide_to_escape_string(). fileio.c
+ (Johnny, Ed)
+ 2. Fix escape_string_to_wide() to handle hex strings, then comment out as
+ not used. zip.h, fileio.c (Ed)
+ 3. Use ZIPERRORS() macro instead of ziperrors[] array. zip.c, zipcloak.c,
+ zipnote.c, zipsplit.c (SMS)
+ 4. Add VMS-compatible "severity" values, add new ZE_SEV_PERR define to
+ set when perror() needs to be called, add ZIPERRORS() macro, change
+ PERR() to use ZE_SEV_PERR, change ziperrors[] to new structure array
+ to hold error strings, add new VMS facility names and severity codes
+ assigned by HP to ziperrors[] array, and add new official
+ VMS_MSG_IDENT. ziperr.h (SMS)
+ 5. Change ZE_SEV defines to ZE_S to save space and reformat ziperrors[].
+ ziperr.h (Ed)
+ 6. Update install.txt to include generic Unix case. bzip2/install.txt (Ed)
+ 7. Add creation of message file and add NOMSG message. vms/build_zip.com,
+ vms/descrip.mms, vms/install_vms.txt (SMS)
+ 8. Update notes.txt to add changes to program exit status values and changes
+ to messages. vms/notes.txt (SMS)
+ 9. Include crc32.h, include ssdef.h, instead of FAB_OR_NAM use FAB_OR_NAML,
+ add status code summary note detailing old versus new error codes, and if
+ CTL_FAC_IZ_ZIP is 0x7FFF and OLD_STATUS is defined use old VMS error codes.
+ vms/vms.c (SMS)
+10. Change FAB_OR_NAM to FAB_OR_NAML and remove NAME_DNA, NAME_DNS, NAME_FNA,
+ and NAME_FNS. vms/vms.h (SMS)
+11. Change FAB_OR_NAM to FAB_OR_NAML. vms/vms_im.c, vms/vms_pk.c,
+ vms/vmszip.c (SMS)
+12. Fix compile warning on VC 2005. win32/makefile.w32 (Johnny)
+13. Update readmevb.txt and readvb64.txt. windll/vb/readmevb.txt,
+ windll/vbz64/readvb64.txt (Ed)
+14. Change tch from int to ulg in utf8_from_ucs4_char(). Move comments to keep
+ line lengths to 80 characters. fileio.c (Christian)
+15. Update comment for total_cd_entries. global.c, zip.c, zip.h (Christian)
+16. Comment out unused Adler-16 code. util.c, zip.h (Christian)
+17. Add InterlockedExchangePointer() macro if not defined. Update Initialize()
+ to use macro. nt.c (Christian)
+18. Move zip64 eocd disk and offset variables next to input archive variables.
+ zip.c (Ed)
+19. Remove zipbegset from scanzipf_fixnew() as offsets are ignored when this
+ is fixing archives. Add comment to cd_total_entries. Remove local
+ cd_start_disk and cd_start_offset as these are already global. Use
+ ZIP_UWORD16_MAX when disk number exceeds this to flag use of Zip64.
+ zipfile.c (Christian)
+20. Some comment changes. zipfile.c (Ed)
+21. Fix indentation in places. zipsplit.c (Christian)
+22. Remove unused variable zfile. zipup.c (Christian)
+23. Update manual. zip.1, zip.txt, zipsplit.txt (Ed)
+---------------------- February 22nd 2007 version 3.0f28 ----------------------
+ 1. Update notes. vms/notes.txt (SMS)
+ 2. Add stream_lf.fdl to specify carriage control. vms/stream_lf.fdl (SMS)
+ 3. Update License to also refer to www.info-zip.org and to hopefully provide
+ an example of misrepresentative use. LICENSE (Ed)
+ 4. Update Readme. README (Ed)
+ 5. Update WhatsNew. WHATSNEW (Ed)
+ 6. Change output archive cd_start_disk and cd_start_offset to input archive
+ local in_cd_start_disk and in_cd_start_offset in scanzipf_fixnew() and
+ scanzipf_regnew() to avoid mixing in and out. zipfile.c (Ed)
+ 7. Update copyright. Remove crc32.h include. vms/vms.c (Christian)
+ 8. Changes for new crc32. Remove CRC32. Add CRCA_0 and CRCAUO. Add
+ compiling of crc_i386.S. win32/makefile.emx. (Christian)
+ 9. Add handlers for better RSXNT and Windows OEM conversions. Add detailed
+ comments on conversions. win32/osdef.h (Christian)
+10. Define CP_UTF8. win32/rsxntwin.h (Christian)
+11. Define WIN32_LEAN_AND_MEAN to reduce size of Windows includes.
+ win32/win32.c, win32/win32zip.c, zip.c (Christian)
+12. Use only standard FAT attributes if OEM. win32/win32zip.c (Christian)
+13. Add use of INTERN_TO_OEM() and related OEM changes. Add console comment.
+ zip.c (Christian)
+14. Change severity from char to int. Update macros. ziperror.h. (Christian)
+15. Update Visual Basic project to clarify some of the code.
+ windll/vbz64/vbzip.vbp, windll/vbz64/vbzipbas.bas,
+ windll/vbz64/vbzipfrm.frm (Ed)
+16. Update copyright. api.c (Ed)
+17. Update format for duplicate entry warning. fileio.c (Ed)
+18. Instead of ifdef __RSXNT__ use ifdef WIN32. Define WIN32_LEAN_AND_MEAN.
+ Use WIN32_CRT_OEM. Change OEM check from vem == 20 to vem & 0xff00 == 0
+ and instead of local_to_oem_string() use _INTERN_OEM(). Remove unused
+ first_CD in scanzipf_fixnew(). Instead of oem_to_local_string() use
+ Ext_ASCII_TO_Native(). Instead of local_to_oem_string() use
+ INTERN_TO_OEM(). zipfile.c (Christian)
+19. Replace escape from zipsplit man page with '. zipsplit.txt (Christian)
+20. Instead of using 20 every time, account for dosify when setting vem.
+ Update FAT comment. zipup.c (Christian)
+------------------------ March 3rd 2007 version 3.0f29 -------------------------
+ 1. Remove crctab.c. vms/build_zip.com (SMS)
+ 2. Add LFLAGS_ARCH. vms/descrip.mms (SMS)
+ 3. Remove redundant includes descrip.h, rms.h, and atrdef.h.
+ vms/vmsmunch.c (SMS)
+ 4. Remove includes descrip.h and rms.h. vms/vmszip.c (SMS)
+ 5. Only define NO_UNISTD_H if __VAX defined or __CRTL_VER is
+ less than 70301000, allowing support of the new symbolic
+ links in VMS. Also use unlink instead of delete if version
+ above 70000000. vms/osdep.h (SMS)
+ 6. Formatting changes. vms/notes.txt, vms/install_vms.txt (Christian)
+ 7. Remove spaces before tabs. win32/makefile.emx (Christian)
+ 8. Formatting change. win32/osdep.h (Christian)
+ 9. If -y on VMS open the link not the target file. vms/vms_im.c (SMS)
+10. If -y on VMS search for the link, not the target file. vms/vms_pk.c (SMS)
+11. Change default for Unicode path mismatch from error to warning, so
+ processing will continue. zip.c, globals.c (Ed)
+------------------------ March 12th 2007 version 3.0f30 ------------------------
+ 1. Add bzip2 support for the reduced no stdio bzip2 library for VMS and Unix.
+ Use libbz2_ns_.olb for VMS bzip2 library which is compiled from the VMS
+ version of bzip2 with the BZ_NO_STDIO flag set. This flag removes most
+ standard bzip2 stdio support and enables using a callback routine for
+ errors. zbz2err.c, unix/Makefile, vms/build_zip.com, vms/descrip.mms,
+ vms/descrip_deps.mms, vms/descrip_src.mms (SMS)
+ 2. Add zbz2err.c to Win32 vc6bz2 project for support of BZ_NO_STDIO for bzip2.
+ Modify zbz2err.c to handle different ports. zbz2err.c (Ed)
+ 3. Update license. zip.h (Ed)
+ 4. Update copyright. zip.c, zipfile.c, zipup.c, zbz2err.c, revision.h (Ed)
+ 5. Fix bug where directories got set to ver 4.6 in local headers instead of
+ ver 1.0 when using bzip2. zipfile.c, zipup.c (Ed)
+ 6. Minor updates to INSTALL. INSTALL (Ed)
+ 7. Minor updates to README. README (Ed)
+ 8. Add BZ_NO_STDIO to vc6bz2 projects. Error routine seems to work.
+ win32/vc6bz2 (Ed)
+ 9. Set bit FAB$M_BIO (.fab$v_bio) in the FAB when using sys$open() on a
+ symlink. vms/vms_im.c (SMS)
+10. Change sys$disk to SYS$DISK. vms/build_zip.com (SMS)
+11. Update extended help. zip.c (Ed)
+12. Update bzip2 install. bzip2/install.txt (Ed)
+------------------------ March 19th 2007 version 3.0f31 ------------------------
+ 1. Define bz2_olb as LIBBZ2_NS.OLB. Change LIBBZ2.OLB to bz2_olb. Use
+ ZZBZ2ERR.C error callback for bzip2. vms/build_zip.com (SMS)
+ 2. Change NO_SYMLINK to NO_SYMLINKS to be consistent with UnZip. tailor.h,
+ acorn/osdep.h, macos/osdep.h, tops20/osdep.h, vms/osdep.h (SMS)
+ 3. Minor note changes. Add section on Symbolic Links. vms/notes.txt (SMS)
+ 4. Update copyright. globals.c (Ed)
+ 5. Update License with official copy. LICENSE (Greg, Ed)
+ 6. Update Readme. README (Ed)
+ 7. Add support for NO_BZIP2_SUPPORT. tailor.h (Ed)
+ 8. Add common compiler flags to Install. INSTALL (Ed)
+ 9. Remove SPLIT_FILE define. zip.c (Ed)
+10. Minor updates to extended help. zip.c (Ed)
+11. Modify Makefile to also build bzip2 library if found. Split $MAKE
+ ("make -f unix/Makefile") into $MAKE and $MAKEF, leaving $MAKE as defined by
+ Make and defining $MAKEF to "-f unix/Makefile". Add clean_bzip2 target.
+ unix/Makefile (SMS)
+12. Modify configure to handle compiling bzip2. unix/configure (SMS)
+13. Remove linking bzip2 with utilities. Other changes. unix/Makefile (Ed)
+14. Change bzip2 wrong library errors to warnings. Put back OS bzip2 library
+ check. Only compile bzip2 if in bzip2 directory. unix/configure (Ed)
+15. More modifications to Makefile and configure to only allow compiling in
+ the bzip2 directory. unix/Makefile, unix/configure (Ed)
+------------------------ March 27th 2007 version 3.0f32 ------------------------
+ 1. Modify configure and Makefile to only allow compiling bzip2 in the Zip bzip2
+ source directory. unix/Makefile, unix/configure (SMS, Ed)
+ 2. Update bzip2 installation instructions. bzip2/install.txt (SMS, Ed)
+ 3. Remove need for BZIP2_USEBZIP2DIR define by using an appropiate include dir
+ specification (-I ../../bzip2) when needed. zip.c, win32/vc6bz2/zip.dsp,
+ unix/configure (SMS, Ed, Christian)
+ 4. Update VC6 readme. win32/readmeVC.txt (Christian, Ed)
+ 5. Add crc32.h to VC projects. Add assembler group to zipcloak, zipnote, and
+ zipsplit projects. Add BZ_NO_STDIO to all configurations with bzip2 so
+ reduced bzip2 code is used. win32/vc6/zip.dsp, win32/vc6/zipcloak.dsp,
+ win32/vc6/zipnote.dsp, win32/vc6/zipsplit.dsp (Christian)
+ 6. Update VC6bz2 readme. win32/readVCBZ.txt (Christian, Ed)
+ 7. Modify bzip2 VC6 workspace to use standard zipcloak, zipnote, and zipsplit
+ projects as they don't need bzip2. win32/vc6bz2/zip.dsw (Christian)
+ 8. Fix zlib flag problem by properly setting and clearing deflInit flag to
+ initialize and release resources. zipup.c (Bill Brinzer, Christian)
+ 9. Update copyright. crypt.h, api.c, tailor.h, fileio.c, ziperr.h,
+ zipsplit.c, zipnote.c, zipcloak.c, util.c (Ed)
+------------------------ April 25th 2007 version 3.0f33 ------------------------
+ 1. Fix -dd display_dots option for VMS. Fix adding value for -ds to command
+ line. Fix /NAMES = AS_IS for older header files. cmdline.c (SMS)
+ 2. Add Win32 wide scan support. In fileio.c add Win32 wide functions lastw(),
+ msnamew(), newnamew(), wchar_to_wide_string(), is_ascii_stringw(),
+ wchar_to_local_string(), and wchar_to_utf8_string(). In globals.c
+ add no_win32_wide that is true if the wide versions of calls like
+ GetFileAttributesW() do not work as on Win9x without the Unicode kit.
+ In tailor.h define zwstat for stats that use wchar_t strings and
+ defines SSTATW and LSSTATW. In util.c add isshexpw() and recmatchw()
+ and dosmatchw() for matching using wchar_t strings. In win32.c add
+ FSusesLocalTimeW(), IsFileSystemOldFATW(), GetFileModeW(), GetLongPathEAW(),
+ and zstat_zipwin32w(). In win32zip.c add zdirscanw structure,
+ GetDirAttribsW(), zDIRSCANW, readdw(), wild_recursew(), procname_win32w(),
+ OpenDirScanW(), GetNextDirEntryW(), CloseDirScanW(), procnamew(),
+ local_to_wchar_string(), wchar_to_utf8_string(), in wild() code to
+ check if W versions are supported and send zip down byte or wide path,
+ ex2inw(), in2exw(), and filetimew(). In zipup.h define zwopen to use
+ wide paths. In zipup.c if supported use filetimew() and zwopen().
+ In zip.h add namew, inamew, and znamew to zlist and flist. In zip.c
+ remove duplicate initialization of use_wide_to_mb_default, force_zip64,
+ zip64_entry, and zip64_archive. Use filetimew() if UNICODE_SUPPORT and
+ using wide paths for directory scan. Remove old 8.3 path Unicode fix as
+ now use wide paths and get all where the 8.3 kluge missed paths where
+ characters in path needed multiple code pages. Changes to bit 11 Unicode
+ but still not ready. fileio.c, globals.c, tailor.h, util.c, zipup.h,
+ win32/win32.c, win32/win32zip.c, win32/win32.h, zipup.c, zip.c (Ed)
+ 3. Update copyright. Don't define UNICODE_SUPPORT if already defined.
+ Define MATCHW and zstat_zipwin32w(). win32/osdep.h (Ed)
+------------------------ April 29th 2007 version 3.0f34 ------------------------
+ 1. Add temporary option -sC to test Unicode file creation enabled with
+ UNICODE_TEST define. zip.c, fileio.c (Ed)
+ 2. On Unix display control characters as ^X as UnZip. (SMS) fileio.c
+ 3. Update extended help. zip.c (Ed)
+ 4. Fix bugs in Unicode changes. zip.c, fileio.c (SMS, Ed)
+ 5. Add NAMES AS_IS support. Handle root dir [000000]. zip.h,
+ vms/install_vms.txt, vms/vmszip.c, vms/vmsmunch.c (SMS)
+ 6. Add global zipfile_exists to handle missing zipfile errors better. zip.h,
+ globals.c, zip.c (Ed)
+ 7. Add functions utf8_to_escape_string(), wide_to_escape_string(),
+ local_to_escape_string(), utf8_to_wchar_string(), and
+ rename wide_to_escape_string() to wide_char_to_escape_string(). fileio.c,
+ win32/win32zip.c, zip.h (Ed)
+ 9. Free f->inamew in fexpel(). Use zuname for matching. fileio.c (Ed)
+10. Fix memory bug by setting z->namew, z->inamew, and z->znamew to NULL.
+ Set f->namew, f->inamew, and f->znamew to NULL for new file in newname().
+ Free wide_string in local_to_utf8(). Other Unicode fixes. Add namew,
+ inamew, and znamew to freeup(). fileio.c, win32/win32zip.c, zip.h (Ed)
+11. Move wchar functions only used by Windows to win32zip.c. fileio.c,
+ zip.h (Ed)
+12. Fix spelling in manual. zip.1 (SMS, Ed)
+13. Add zuebcmp() for Unicode. zipfile.c
+14. Open files to read using wide name as input path. zipup.c (Ed)
+15. Update help. zip.c (Ed)
+16. Change -TT long option from --unzip-path to --unzip-command. zip.c (Ed)
+17. Update Manual to include section on Unicode, add -TT option, make some
+ changes to Unicode in other sections, update copyright at bottom, and
+ some small changes to wording and examples. man/zip.1, zip.txt (Ed)
+18. Put #ifdef WIN32 around WIN32 blocks. zipfile.c (Ed)
+------------------------- May 14th 2007 version 3.0f35 -------------------------
+ 1. Update VMS to include new options. vms/cmdline.c, vms/zip_cli.cld (SMS)
+ 2. Update VMS help. vms/vms_zip.rnh (SMS)
+ 3. Minor updates to VMS help. vms/vms_zip.rnh (Ed)
+ 4. Create global filter_match_case that defaults to 1 (case-sensitive). zip.c
+ zip.h, globals.c (Ed)
+ 5. Add option -fc to fold case for case-insensitive matching in filter().
+ Currently enabled only for WIN32. zip.c, win32/osdep.h (Ed)
+ 6. Change (action == DELETE || action == FRESHEN) to filter_match_case in
+ PROCNAME() define. I just couldn't figure out what was going on here and
+ why the case flag was controlled by this. zip.c (Ed)
+ 7. Update WhatsNew. WHATSNEW (Ed)
+------------------------- May 17th 2007 version 3.0f36 -------------------------
+ 1. Touch date on generated file. vms/ZIP_MSG.MSG (SMS, Ed)
+ 2. Update Betas readme to include Release Candidates. Betas_Readme.txt (Ed)
+ 3. Update Zip 3.0f announcement. zip30f.ann (Ed)
+ 4. Minor updates to VMS help. vms/cvthelp.tpu, vms/vms_zip.rnh (SMS)
+ 5. Major changes to VMS CLI help. vms/zip_cli.help (SMS, Ed)
+ 6. Update license. revision.h (Ed)
+------------------------- May 21st 2007 version 3.0f37 -------------------------
+ 1. Rename -fc (fold case) to -ic (ignore case) which may be more intuitive.
+ zip.c (Ed)
+ 2. VMS CLI updates for new options. vms/cmdline.c, vms/vms_zip.rnh,
+ vms/zip_cli.cld, vms/zip_cli.help (SMS)
+ 3. Updates to support Watcom C, mingw, djgppv2 and msc-16-bit, including
+ supporting wide stat and compare calls and work-around for problem with
+ "no symlink support" detection. tailor.h, util.c, zip.c, win32/osdep.h,
+ win32/win32.c, win32/win32/zipup.h (Christian)
+------------------------- May 29th 2007 version 3.0f38 -------------------------
+ 1. Update description. file_id.diz (Ed)
+ 2. Handle better when not splitting and run out of disk space. Also, for split
+ method 1 (automatically write all splits to same place) exit if run out of
+ space instead of filling available space with near empty splits. For split
+ method 2 require splits to be at least 64K bytes (the minimum split size).
+ fileio.c (Ed)
+ 3. Add line break in ziperr() if message line has been started. zip.c (Ed)
+ 4. In ziperr() don't close output handle y if same as current_local_file handle
+ and just closed that. zip.c (Ed)
+ 5. Change default definition of PROCNAME() to handle new filter_match_case flag
+ and restore backward compatibility. zip.c (Christian, Ed)
+ 6. Add note detailing definition of PROCNAME(). zip.c (Ed)
+ 7. Remove nonlocalpath parameter from procname_win32() and procname_win32w()
+ and variables nonlocal_path and nonlocal_name as this is not used now that
+ unicode is implemented in WIN32 using the wide calls.
+ 8. Enable ignore case option for VMS. zip.c (SMS)
+ 9. Update -v and other updates in manual. man/zip.1 (Christian, Ed)
+10. Updates for Watcom C and Win32 symlinks. win32/osdep.h (Christian)
+11. Fix historic problem with VAX seeking. zipfile.c (SMS)
+12. Add NAM_M_EXP_DEV. Add determination if device is in file specification.
+ If device name in file specification do ODS2 and ODS5 down-casing.
+ Define explicite_dev(). vms/vms.h, vms/vmszip.c (SMS)
+------------------------- June 4th 2007 version 3.0f39 -------------------------
+ 1. Update osdep.h to use new filter_match_case flag. vms/osdep.h (SMS)
+ 2. Fix unterminated string bug and trim extra allocated space in
+ local_to_display_string(). fileio.c (Ed)
+ 3. Updated extended help for -u and -ic options. zip.c (Ed)
+ 4. Update Manual. man/zip.1, zip.txt (Ed)
+------------------------- June 15th 2007 version 3.0f40 -------------------------
+ 1. Update Unicode Path and Unicode Comment descriptions based on suggestions
+ from WinZip. proginfo/extrafld.txt (Steve Gross, Ed)
+ 2. Update descriptions for Add, Update, and Freshen in the manual. man/zip.1
+ (Christian)
+ 3. Update default definition of PROCNAME() to use filter_case_match flag to
+ turn off case matching in filter(). zip.c (Christian)
+ 4. Update WhatsNew. WHATSNEW (Ed)
+ 5. Update announcement. zip30f.ann (Ed)
+ 6. Update manual. man/zip.1, zip.txt (Ed)
+------------------------- July 7th 2007 version 3.0f41 -------------------------
+ 1. Use File Name as Unicode path if UTF-8 flag is set in header. zip.c,
+ globals.c, zipfile.c, zip.h (Ed)
+ 2. Update ToDo. TODO (Ed)
+ 3. Update WhatsNew. WHATSNEW (Ed)
+ 4. Update ReadMe. README (Ed)
+ 5. Fix problems with incompatible stat types on Win32. fileio.c, tailor.h,
+ zip.h, win32/win32.c, win32/win32zip.c, win32/osdep.h (Ed)
+ 6. Define NO_STREAMING_STORE to turn off storing while streaming.
+ INSTALL, zipup.c (Ed)
+ 7. Define UNICODE_ALLOW_FORCE to enable -UN=force option which is now
+ disabled and would need work. globals.c, zip.h (Ed)
+ 8. Add global using_utf8 to flag when OS current character set is UTF-8.
+ If an existing entry has the UTF-8 flag set the flag is kept. If a new
+ entry needs Unicode and on a UTF-8 system assume the strings are UTF-8
+ and set the UTF-8 flag. globals.c, zip.h (Ed)
+ 9. Update Unicode extra field descriptions. proginfo/extrafld.txt (Ed)
+10. Add include directory so can find bzip2 header file when using bzip2
+ directory. unix/configure (Ed)
+11. Fix wide character wild(), wild_recursew() and OpenDirScanW() for Win32 so
+ work like the regular versions. win32/win32zip.c (Ed)
+12. Update Unicode in manual. Update -W description in manual zip.1
+13. Flush logfile writing. zip.c (Ed)
+14. Update extended help for -UN option. Update help for Update to note it
+ updates files where the OS has a later date. Chance -UN=Exit to -UN=Quit
+ so can abbreviate to first letter. zip.c (Ed)
+15. Fix a bug in readzipfile() when zip used in pipe. Other pipe fixes. zip.c,
+ zipfile.c (Ed)
+------------------------ August 10th 2007 version 3.0f42 -----------------------
+ 1. Update error message for -DF. zip.c (Ed)
+ 2. Add bzipped message to write to log file. zipup.c (Ed)
+ 3. Update bzip2 install instructions. bzip2/install.txt (Ed)
+ 4. Move local.h include to tailor.h to fix compiler multiple define. tailor.h,
+ zip.c (SMS)
+ 5. Add additional C compiler checks for GNU and HP. unix/configure (SMS)
+ 6. Fix to build libbz2.a. unix/Makefile (SMS)
+ 7. Update copyright. acorn/osdep.h, macos/osdep.h, tops20/osdep.h,
+ vms/vmszip.c, vms/vmsmunch.c, vms/vms_pk.c, vms/vms_im.c, vms/vms.h,
+ vms/vms.c, vms/osdep.h, win32/rsxntwin.h, win32/osdep.h, win32/nt.c (Ed)
+ 8. Change zfeeko(file, 0, SEEK_SET) to rewind(file) in ffile_size() so
+ EOF is always reset. This was creating problems in WIN32 when
+ NO_ZIP64_SUPPORT was set but LARGE_FILE_SUPPORT was set. zipfile.c (Ed)
+ 9. Update compile -v descriptions for LARGE_FILE_SUPPORT and ZIP64_SUPPORT to
+ be more specific as to what each does. zip.c (Ed)
+10. Fix bug that added the local header size to the next entry compressed size
+ giving a wrong compressed size error if splitting and the split occurs when
+ writing a local header. fileio.c (Ed)
+11. Remove UNICODE_TEST define from VC 6 projects. win32/vc6/zip.dsp,
+ win32/vc6/zipcloak.dsp, win32/vc6/zipnote.dsp, win32/vc6/zipsplit.dsp (Ed)
+12. Update extended help. zip.c (Ed)
+13. Only output -FF central directory messages in verbose mode. zipfile.c (Ed)
+14. Add note about possible bug when copying entries from a split archive.
+ WHATSNEW (Ed)
+------------------------ August 11th 2007 version 3.0f43 -----------------------
+ 1. Display locale inside check to avoid NULL locale. zip.c (SMS, Ed)
+ 2. Add include wchar.h to tailor.h. tailor.h (SMS)
+------------------------ August 21st 2007 version 3.0f44 -----------------------
+ 1. Remove verbose messages when setting locale as verbose flag is not set yet.
+ zip.c (SMS, Ed)
+ 2. Change reading splits message "abort archive" to "abort archive - quit" and
+ change selection letter from a to q so q quits consistently. For quit,
+ don't confirm as more annoying than helpful. fileio.c (Ed)
+ 3. In bfwrite() handle case where a split ends at the end of one entry and
+ trying to write the next local header forces opening next split. This
+ caused copying entries from one archive to another to fail if this came up.
+ Also handle case where a new split is needed while writing central directory
+ entries. Now close last split and update pointers to point to the new
+ split. fileio.c (Ed)
+ 4. Update use of mesg_line_started and add new logfile_line_started to account
+ for line ends in logfile. fflush() output. zip.c, zip.h, globals.c (Ed)
+ 5. Move setting split size if input archive is split and split_size not set
+ to after archive is read. zipfile.c, zip.c (Ed)
+ 6. Update Manual to describe Unicode as implemented and note that old splits
+ are not automatically excluded. man/zip.1, zip.txt (Ed)
+ 7. Update WhatsNew to remove note that creating and copying split archives
+ is broke as it seems fully working now. WHATSNEW (Ed)
+ 8. Update announcement. zip30f.ann (Ed)
+------------------------ August 31st 2007 version 3.0f45 -----------------------
+ 1. Unicode fix for VMS. tailor.h (SMS)
+ 2. Add member current to zlist structure to flag when an archive entry is
+ current with the matching OS file using file time and size. This is used by
+ File Sync to copy current entries from archive. zip.h, zip.c (Ed)
+ 3. Comment out zip info verbose extra data message as this message does not
+ seem to add much. zipfile.c (Ed)
+ 4. Add local and central directory Version Needed To Extract to mismatch
+ warning. Update warning text. zipfile.c (Ed)
+ 5. Add function BlankRunningStats() to output blanks for the running stats
+ part of the line to use when displaying stats for entries not on the mark
+ list so all output lines up. zip.c
+ 6. Add -FS to extended help as new mode. zip.c (Ed)
+ 7. Update description of -FF to remove Assume Worst. zip.c (Ed)
+ 8. Add all_current flag that is set if all entries in archive are current and
+ skip updating archive if -FS and all entries are current. zip.c (Ed)
+ 9. Change argv[] to args[] for "try: zip" error message as message depends on
+ new argument order in args where options are now at beginning. zip.c (Ed)
+10. For File Sync, copy entries to new archive if file time and size are the
+ same. If verbose, output ok when copying current entries, otherwise no
+ message when current_entry. Set all_current to 0 if an entry not marked or
+ a file not on OS as need to avoid the All Current message in these cases to
+ catch only deletions. zip.c (Ed)
+11. Initialize variables excluding zipstate and setjmp() if USE_ZIPMAIN defined
+ to fix bug when recall zipmain(). zip.c (Ed)
+12. Update Manual. zip.1, zip.txt (Ed)
+13. Update WhatsNew. WHATSNEW (Ed)
+14. Update announcement. zip30f.ann (Ed)
+----------------------- September 5th 2007 version 3.0f46 ----------------------
+ 1. Move write of local header after when GPB11 UTF-8 bit set in putlocal().
+ zipfile.c (Ed)
+ 2. Change to uppercase for compatibility. vms/install_vms.txt (SMS)
+ 3. Set cenbeg and bytes_this_split to fix grow. Check if grow split archive.
+ zipfile.c, zip.c (Ed)
+----------------------- September 14th 2007 version 3.0f47 --------------------
+ 1. Include address for new Info-ZIP forum. Add note on 16-bit OS support.
+ Add note about text file line ends. README (Ed)
+ 2. Update WhatsNew to include latest on Unicode. Add section on plans for
+ Zip 3.1. WHATSNEW (Ed)
+ 3. Minor change in note for Unicode in extended help. zip.c (Ed)
+ 4. Modify definitions of Unicode extra fields based on discussions with PKWare
+ and WinZip. proginfo/extrafld.txt (Ed)
+ 5. Add note on UTF-8 flag. INSTALL (Ed)
+ 6. Minor updates to ToDo list. Needs more work. TODO (Ed)
+ 7. Update announcement. zip30f.ann (Ed)
+ 8. Change definition of IZ_OUR_BZIP2_DIR to be compatible with Configure and
+ to work with HP-UX. unix/Makefile (SMS)
+------------------------ September 24th 2007 version 3.0f ---------------------
+ 1. Update extended help Unicode description. zip.c (Ed)
+ 2. Update Readme. README (Ed)
+ 3. Fix case of define identifying IA64. vms/vms.c (SMS)
+ 4. Update announcement date. zip30f.ann (Ed)
+ 5. Update Unicode extra field definitions based on changes proposed for
+ AppNote. extrafld.txt (Ed)
+------------------------ October 17th 2007 version 3.0g01 ---------------------
+ 1. Can get stuck on open Unix FIFO so default to skip and add option -FI to
+ enable reading FIFO. Add global allow_fifo. zip.c, zip.h, globals.c
+ (Willus 0, Ed)
+ 2. As problems with MinGW with wide-character paths, disable wide-character
+ Unicode support. zip.c, unix/unix.c (Willus 0, Ed)
+ 3. Update manual installs to include zipcloak.1, zipnote.1, and zipsplit.1
+ pages. unix/Makefile (Ed)
+ 4. Update Solaris packages. unix/Packaging/pkginfo.in,
+ unix/Packaging/postinstall, unix/Packaging/preinstall.in,
+ unix/Packaging/prototype (SMS)
+------------------------ October 30th 2007 version 3.0g02 ---------------------
+ 1. Fix bug in get_in_split_path() where look for .zip split when attempting
+ to open archives without a .zip extension, even when a single file archive
+ like jar file. fileio.c (Gabriele (balducci@units.it), Ed)
+ 2. Fix bug where temp file got created in current working directory on Unix
+ by giving entire archive path to mkstemp() as template. fileio.c, zip.c
+ (Willus, Ed)
+ 3. Use 64-bit output functions for bits_sent. trees.c (SMS)
+ 4. Add -FF to fixfix -sd messages to make different from identical main
+ messages. zip.c (SMS, Ed)
+ 5. If quiet do not ask for splits and all splits must be in same location.
+ zipfile.c (Ed)
+ 6. Clean up making zip manuals. unix/Makefile (Ed, SMS)
+ 7. Add clean_exe to make. unix/Makefile (SMS)
+ 8. Update to VMS Notes, including adding details on symlinks, -V, and UTC
+ dates times. vms/notes.txt (SMS)
+ 9. Fix bug in wild() when calling wile_recursew() where qw should be
+ pointing inside pw. win32/win32zip.c (Willus, Ed)
+10. Fix bug where is_ascii_string() fails when passed a NULL string. This
+ may fix problem where the CentOS mbstowcs() function is returning -1 when
+ trying to convert a file name with a bad character (0xe6), causing
+ local_to_wide_string() and then local_to_utf8_string() to return NULL, so
+ f->uname gets NULL and so is_ascii_string() fails with SIGSEGV. fileio.c
+ (Willus, Ed)
+------------------------ October 31st 2007 version 3.0g03 ---------------------
+ 1. Add handling of -b temp directory when opening splits in bfwrite() using
+ mkstemp(). fileio.c (SMS, Ed)
+------------------------ November 3rd 2007 version 3.0g04 ---------------------
+ 1. Move show_files to global so can avoid split warning for -sf. zip.c,
+ globals.c, zip.h, zipfile.c (Ed)
+ 2. Account for -b tempath when opening temp file. zip.c, zipnote.c,
+ zipcloak.c (SMS, Ed)
+------------------------ November 4th 2007 version 3.0g05 ---------------------
+ 1. Minor fixes to fdopen calls. zipcloak.c, zipnote.c (SMS, Ed)
+------------------------ November 4th 2007 version 3.0g06 ---------------------
+ 1. Add negation to -db, -dc, -dd, -dg, -du, -dv display options. zip.c (Ed)
+ 2. Put back UNICODE_SUPPORT no_win32_wide code left out in previous fix.
+ win32/win32zip.c (Willus, Ed)
+------------------------ November 21st 2007 version 3.0g07 ---------------------
+ 1. Fix bug preventing newline in some cases in zipmessage(). zip.c (Ed)
+ 2. Update Unicode help. zip.c (Ed)
+ 3. Update -sd messages. zip.c (Ed)
+ 4. Add filetimew() for Unicode case. zip.c (Ed)
+ 5. Add ClearArchiveBitW() for Win32 wide. zip.c, zip.h, win32/win32.c (Ed)
+ 6. Only ask for .zip split if path ends in .znn or .znnn where n 0 to 9. This
+ allows -FF to work on .exe sfx files without adding .zip. zipfile.c (Ed)
+ 7. Fix bug where only backed up 20 bytes to find Z64 EOCD Locator. Now back
+ up 24 bytes to include size of Z64 EOCD Locator signature. This prevented
+ reading and updating archives greater than 4 GB. zipfile.c (Ed)
+ 8. If -FF on Win32 initialize wide strings namew, inamew, and znamew to NULL.
+ zipfile.c (Ed)
+ 9. Add #include <wctype.h> to support towupper(). tailor.h (SMS)
+------------------------ December 4th 2007 version 3.0g08 ---------------------
+ 1. Update dot_size comment. globals.c (Ed)
+ 2. Update Compression in extended help. zip.c (Ed)
+ 3. Add extended help on self extractor -A and -J. zip.c (Ed)
+ 4. Update VMS SYMLINK version information. zip.c (SMS)
+ 5. Remove not final from Unicode version information as final now. zip.c (Ed)
+ 6. Remove apparently not needed WINDLL variable retcode. zip.c (Ed)
+ 7. Fix -A to calculate sfx offset and adjust offsets as it should. zip.c (Ed)
+ 8. Split -F and -FF used with -A warning to separate warnings. zip.c (Ed)
+ 9. Add adjusting to can't to that to split archive error. zip.c (Ed)
+10. Fix bug for -A that tries to open split by asking for disk 0 instead of
+ disk 1. Add adjust_offset and cd_total_size variables. Calculate
+ sfx offset by determining offset of start of central directory. Archives
+ larger than 4 GB are not supported as sfx archives but these don't seem
+ to work anyway. Add adjust_offset to Zip64 EOCDR offset and central
+ directory offsets. zip.c, zipfile.c (Ed)
+11. Comment out here debug variable in find_next_signature(). zipfile.c (Ed)
+12. Change %2x to %02x as format for parts of a signature in error messages.
+ zipfile.c (SMS)
+13. Add warning adjusting split archives not yet supported. zipfile.c (Ed)
+14. Add period to central directory comment. zipfile.c (Ed)
+15. Update readme for vb Zip64 project. windll/vbz64/readvb64.txt (Ed)
+16. Update comments of VB for Zip64 example. Add SplitSize to VB Zip64
+ example. windll/vbz64/vbzipbas.bas, windll/vbz64/vbzipfrm.frm (Ed)
+17. Add SourceForge to comment noting where can get the source code.
+ windll/vbz64/vbzipfrm.frm (Ed)
+18. Update WhatsNew. WHATSNEW (Ed)
+------------------------ December 12th 2007 version 3.0g09 --------------------
+ 1. A few minor changes to extended help. zip.c (Ed)
+ 2. Uppercase beginning of most -sd messages. zip.c (Ed)
+ 3. Add spaces between options in some error messages. zip.c (Ed)
+ 4. Update comments in scanzipf_regnew(). zipfile.c (Ed)
+ 5. Update scanzipf_regnew() to figure out sfx offset. (Ed)
+ 6. Uppercase VMS RUNOFF file as apparently needed. VMS_ZIP.RNH (SMS)
+ 7. Add comments to zipmessage(). zip.c (Ed)
+ 8. Update extended help and option descriptions. zip.c (Ed)
+------------------------ December 20th 2007 version 3.0g10 --------------------
+ 1. Fix -F to include -A adjustment check. zipfile.c (Ed)
+ 2. Change -FF message when find EOCDR. zipfile.c (Ed)
+ 3. For -FF, reset first CD entry flag in_central_directory when a local entry
+ is found after CD entries so that another CD entry forces sorting of all
+ local entries to that point. This allows files with multiple archives in
+ them to be processed. zipfile.c (Ed)
+ 4. Add message when a local entry is found after a central directory.
+ zipfile.c (Ed)
+ 5. Remove word offset from disk offset location messages. zipfile.c (Ed)
+ 6. Make Adjust offset message more descriptive. zipfile.c (SMS, Ed)
+ 7. In scanzipf_regnew(), if adjustment to offsets, add it to
+ in_cd_start_offset. zipfile.c (Ed)
+ 8. Allocate cextra only if localz->ext not 0 in zipcopy(). zipfile.c (Ed)
+------------------------ December 28th 2007 version 3.0g11 --------------------
+ 1. Include definitions of zip64_eocdr_start and z64eocdl_offset in
+ ZIP64_SUPPORT ifdef block. Add comments for End Of CD Record (EOCDR).
+ Update comments for adjust offset detection. zipfile.c (Ed)
+ 2. Change ((uzoff_t)1 << 32) to 0xFFFFFFFF. zipfile.c (SMS, Ed)
+ 3. Leave off local header detection as not useful when searching for start
+ of central directory to get adjust offset. Looks like all expected cases
+ are now covered as long as archive is intact. zipfile.c (Ed)
+ 4. Update some warning messages. Simplify adjust offset information message.
+ zipfile.c (Ed)
+ 5. Add braces to unicode_mismatch if block. zipfile.c (Christian)
+ 6. Add (void *) cast in InterlockedExchangePointer() mutex calls to fix
+ compile warnings in MinGW (GCC 3.4.4). win32/nt.c (Christian)
+ 7. Remove unused nonlocalpath variable. win32/win32zip.c (Christian)
+ 8. Update betas readme file. betas_readme.txt (Ed)
+ 9. Partial update to Who list of contributors. proginfo/infozip.who (Ed)
+10. Update ReadMe. Create Announcement. README, zip30g.ann (Ed)
+11. Update WhatsNew. WHATSNEW (Ed)
+------------------------ January 7th 2008 version 3.0g12 --------------------
+ 1. Convert Scanning files message to use standard zipmessage_nl() so line
+ ends are generated when needed. fileio.c (Ed)
+ 2. Add line ends in DisplayRunningStats() if a display line has been
+ started. zip.c (Ed)
+ 3. For the command line listed at the top of the log file, add double
+ quotes around any arguments that have spaces in them.
+ zip.c (Ed)
+ 4. Instead of stdout use standard mesg output stream for show files.
+ Output new line for show files for display and log file if there was
+ output on the current line. zip.c (Ed)
+ 5. Comment out new line output code after zipup() and replace with
+ call to zipmessage_nl("", 1) to output new line if needed.
+ zip.c (Ed)
+ 6. In GetFileMode() and GetFileModeW() when get attributes fails
+ instead of fprintf(mesg, ...) use zipwarn() so error goes in
+ log file and new lines are displayed when needed. win32/win32.c (Ed)
+ 7. In GetSD(), change cbytes from long to ulg. Check cbytes (the
+ compressed size of the security descriptor) and issue warning if
+ the compressed security descriptor is greater than 0x7FFF (32k)
+ as the entire header this extra field is in needs to fit in the
+ 64k header. Should be a check on the running size of the header
+ so the actual space remaining is tracked. Maybe in Zip 3.1. If
+ cbytes OK cast to ush and store. win32/win32zip.c (Ed)
+ 8. Use zipmessage_nl() for bytes security message so new lines are
+ handled and message goes in log file. win32/win32zip.c (Ed)
+ 9. Add new option -RE to enable [list] (regex) matching in DOS and
+ WIN32 but disable [list] matching otherwise. Default behavior
+ is restored if ALLOW_REGEX is defined. globals.c, util.c,
+ zip.h, zip.c (Ed)
+------------------------ January 20th 2008 version 3.0g13 --------------------
+ 1. Update copyrights to 2008. zip.c, zipcloak.c, zipfile.c, zipnote.c,
+ zipsplit.c, zipup.c, README (Ed)
+ 2. Update Who. proginfo/infozip.who (Ed)
+------------------------ January 30th 2008 version 3.0g14 --------------------
+ 1. Update copyrights. fileio.c, globals.c, revision.h, util.c, zip.h,
+ win32/win32.c, win32/win32zip.c (Ed)
+ 2. Updates. README, proginfo/infozip.who (Ed)
+ 3. Update announcement and WhatsNew. zip30g.ann, WHATSNEW (Ed)
+ 4. Add ALLOW_REGEX to INSTALL define list. INSTALL (Ed)
+ 5. Change -sd message. zip.c (Ed)
+ 6. For bzip2 check for binary and set binary/text flag. Handle -l and -ll
+ line end conversions for bzip2. zipup.c (Ed)
+------------------------ February 3rd 2008 version 3.0g --------------------
+ 1. Change && to || to fix logic bug in show files. zip.c (Johnny)
+ 2. Add CLEAN and CLEAN_ALL VMS targets. vms/descrip_mkdeps.mms (SMS)
+----------------------- February 22nd 2008 version 3.0h01 --------------------
+ 1. Update some echo statements to use CFLAGS_OPT. Add GNUC check.
+ unix/configure (SMS)
+ 2. Only store UID and GID if 16 bit. unix/unix.c (Ed)
+----------------------- March 21st 2008 version 3.0h02 --------------------
+ 1. Change long Unicode escapes from 8 characters to 6 characters based on
+ change in UnZip 6.0. fileio.c (Ed)
+ 2. Put zuebcmp() declaration in #if 0 block as definition already is. This
+ function would be used to allow Unicode escapes on the command line
+ without using the -UN=escape option, but the utility of this is still
+ being determined. zipfile.c (SMS, Ed)
+ 3. Remove declaration for unused bz_deflate_init(). zipup.c (SMS, Ed)
+ 4. Add release announcement file, anticipating the long-awaited release.
+ zip30.ann (Ed)
+ 5. Update WhatsNew. WHATSNEW (Ed)
+----------------------- March 24th 2008 version 3.0h03 --------------------
+ 1. Update Unix configure script to better test for modern HP-UX compiler.
+ unix/configure (SMS)
+ 2. Updated Beta Readme. betas_readme.txt (Ed)
+ 3. Update Install. INSTALL (Ed)
+ 4. Update ReadMe. README (Ed)
+ 5. Small change to main help screen. zip.c (Ed)
+ 6. Small update to top of ToDo list. Actual updating of items still
+ needs to be done. TODO (Ed)
+----------------------- April 2nd 2008 version 3.0h04 --------------------
+ 1. Update copyright. crc32.h (Christian)
+ 2. Remove zip.h include. crc32.h (Christian)
+ 3. Add local prototypes for Unicode functions. Add cast for split size
+ check. Make many Unicode functions local. #if 0 out currently unused
+ utf8_chars(). Fix memory leak in wide_to_local_string() by adding
+ free() for buffer on error return. Fix memory leak in copy_args() on
+ error return by adding free-args(). Add ZCONST to arg in
+ insert_arg(). Shorten some lines to less than 80 characters. Add
+ free() to get_longopt() to fix memory leak. fileio.c (Christian)
+ 4. Create Win32 versions of wide_to_local_string() and
+ local_to_wide_string() so can use Win32 conversion functions.
+ fileio.c, win32/win32.c (Christian)
+ 5. Update comments for get_option(). fileio.c (Ed)
+ 6. Update encryption code readme. README.cr (Ed)
+ 7. Add prototype for recmatchw(). util.c (Christian)
+ 8. Change count_args() from static to local. util.c (Christian)
+ 9. Change ifdefs for includes for prototypes for version_info(),
+ zipstdout(), and check_zipfile() for WINDLL and MACOS and add
+ check_unzip_version(). zip.c (Christian)
+10. Change ifndef NO_SYMLINKS to ifdef S_IFLNK for determining compiler
+ information. zip.c (Christian)
+11. Change UTF-8 locale from en_GB.UTF-8 to .UTF-8. zip.c (Christian)
+12. Change cast of -1 for dot_size from uzoff_t to zoff_t.
+ zip.c (Christian)
+13. Change prototype for set_filetype to include parameter char *.
+ Change prototype of has_win32_wide to include parameter void.
+ zip.h (Christian)
+14. Add prototypes for find_next_signature(), find_signature(),
+ and is_signature(). Change duplicate prototype scanzipf_regnew()
+ to missing prototype scanzipf_fixnew(). Change comment for Adler-16
+ checksum to CRC-32 checksum as that is being used at that point in
+ the code. Move multiple uname assignments to common assignment.
+ Add inameLocal for WIN32_OEM and use define for inameLocal if not
+ to save memory allocation when not not using WIN32_OEM. Also
+ change _INTERN_OEM(str1) to INTERN_TO_OEM(src, dst) for OEM
+ conversion. Format comment for vem to fit in 80 character lines.
+ zipfile.c (Christian)
+15. Change variable a from buffer to a pointer and add abf as the
+ buffer for zgetline() to handle NULL case. zipnote.c (Christian)
+16. Change comments to zipentry comments and zipfile comment in
+ messages. zipnote.c (Ed)
+17. Use uidgid_16bit as flag variable instead of uid_size. Modify
+ size check that prevents saving Unix UIDs and GIDs in the old
+ Unix extra field if they are not 16 bits. Change memory
+ allocation based on uidgid_16bit. Delete unused code for memory
+ copy for extra field. unix/unix.c (Christian, Ed)
+18. Change compiler flag from -zp8 to -Zp8 for LCC Win32.
+ win32/makefile.lcc (Christian)
+19. Add ifndef debug. Add bzip2 support. Add additional compiler
+ flags. win32/makenoas.w32 (Christian)
+----------------------- April 10th 2008 version 3.0h05 --------------------
+ 1. Fix bug found by forum poster where Zip stops recursing down a tree
+ when option -AS is set and a directory without the Windows archive
+ bit is reached. Now Zip continues down the tree to include files with
+ the bit set. win32/win32zip.c (forum poster, Ed)
+ 2. Update comments. win32/osdep.h (Ed)
+ 3. Update VMS notes to better organize and add information about file
+ name case. Additional small updates. vms/notes.txt (SMS)
+ 4. Fix bugs from previous changes to unix. unix/unix.c (SMS, Christian,
+ Ed)
+ 5. Add unix IBM support. unix/unix.c (SMS)
+ 6. Update INSTALL to account for new distribution structure and other
+ changes. INSTALL (SMS, Ed)
+ 7. Update bzip2 install readme. bzip2/install.txt (SMS, Ed)
+ 8. Fix bug noted in forum where -@ and -x generated a "nothing to
+ select from error" by also checking filelist variable populated by
+ -@ for entries. zip.c (forum poster, Ed)
+----------------------- April 20th 2008 version 3.0h06 --------------------
+ 1. Start announcement for Zip 3.0h public beta. zip30h.ann (Ed)
+ 2. Update beta readme. betas_readme.txt (Ed)
+ 3. Update case of README.CR. INSTALL (Ed)
+ 4. Change -W to -ws for option to stop wildcards from scanning directory
+ boundaries in path. This frees up -W for later use, maybe as extendted
+ option introducer. zip.c, man/zip.1 (Ed)
+ 5. Updated date in announcement to May 4th. zip30.ann (Ed)
+ 6. Added announcement for public beta Zip 3.0h. zip30h.ann (Ed)
+ 7. Fix large file support for MinGW by checking for compiler environments
+ before the check for (generic) gcc. zipup.c, win32/osdep.h
+ (Will, Christian)
+ 8. Fix large file support for bzip2. Additionally, the "dot printout"
+ code has also been adapted for LARGE_FILE support. zipup.c
+ (Will, Christian)
+ 9. Add comments to top of configure. unix/configure (Ed)
+10. Move comment and comment out value size check for UID/GID extra field.
+ unix/unix.c (Ed)
+11. Change case of file ToDo to TODO for consistency and to work with Unix
+ package. TODO (SMS, Ed)
+----------------------- April 26th 2008 version 3.0h07 --------------------
+ 1. For -AS, which for Windows only includes files with the archive bit
+ set, exclude directory entries (by setting -D) as some directories may
+ not have any files with the archive bit set and so the directory would
+ be empty. zip.c (Ed)
+ 2. Fix UID/GID size detection to use byte sizes and remove data fit test.
+ unix/unix.c (Ed)
+ 3. Update announcement. zip30h.ann (Ed)
+ 4. Add new unix extra field with tag 'ux' that stores UIDs/GIDs of 1 to 4
+ bytes (8 to 32 bits). unix/unix.c (Ed)
+ 5. Update VB readme. windll/vbz64/readVB64.txt (Ed)
+ 6. For Unicode escaped output also show escape for ASCII 7-bit if
+ isprintable() is false. fileio.c (Ed)
+ 7. Use locale "en_US.UTF-8" for Unix. zip.c (Ed)
+ 8. Also show escaped Unicode for new files in found list. zip.c (Ed)
+ 9. Update manual. man/zip.1, zip.txt (Ed)
+------------------------ May 4th 2008 version 3.0h08 -----------------------
+ 1. Handle when a bad Unicode string in archive forces
+ utf8_to_wide_string() to return a NULL string. Give warning if UTF-8
+ in existing archive is bad. Put WIN32 wide local header initializations
+ in UNICODE_SUPPORT block. fileio.c, zipfile.c (Ed)
+ 2. Leave out Unicode escape code if not Unicode enabled. zip.c (Ed)
+ 3. Enable oem_to_local_string() and local_to_oem_string() for WIN32
+ even if no Unicode. zip.h, win32/win32.c (Christian, Ed)
+ 4. Update comment about encryption code. zipcloak.c (Ed)
+ 4. Update zipmessage_nl() and zipmessage() from zip.c. zipcloak.c,
+ zipnote.c, zipsplit.c (Ed)
+ 5. Add Mac OS X library check. unix/configure (SMS)
+ 6. Add 16-bit UID/GID check. unix/configure (Christian, Ed)
+ 7. Format echo and comment statements a bit. unix/configure (Ed)
+ 8. Only compile in old 16-bit UID/GID code if new define UIDGID_NOT_16BIT
+ from unix configure script is not defined. unix/unix.c (Christian)
+ 9. A couple changes to updated 16-bit UID/GID code. Add 64-bit
+ UID/GID support to new Unix extra field. unix/unix.c (Ed)
+10. Remove redundant "license" from options table. zipcloak.c (Ed)
+11. Remove old unix build files. unix/configure-orig, unix/Makefile-orig
+ (Christian)
+12. Add -O (--output-file) option to ZipCloak. Fix bug by setting
+ out_path. zipcloak.c (Ed)
+------------------------ May 8th 2008 version 3.0h09 -----------------------
+ 1. Update copyright. Add check for NO_UNICODE_SUPPORT. tailor.h (Ed)
+ 2. Fix bug where Unicode General Purpose Bit Flag 11 should force keeping
+ the old name field but it was being overwritten by the escaped name
+ in the central directory header. Fixed some ZIPERR() calls in
+ putcentral() that referred to putlocal(). zipfile.c (Ed)
+ 3. Add comment about OCRCU8 and OCRCTB. unix/configure (Ed)
+ 4. Change line in instructions to note that manuals should be made after
+ Zip is made. Change OCRTB to OCRCTB. Add $(OCRCTB) to rule for
+ zipcloak$E so crc32_.o is linked in. Add comment for NO_UNICODE_SUPPORT
+ flag. unix/makefile (Ed)
+ 5. Update WhatsNew. Add additional items to the Zip 3.1 list. Add note
+ about Zip 2.4. WHATSNEW (Ed)
+ 6. Update Zip 3.0h announcement. zip30h.ann (Ed)
+ 7. Update manual pages. man/zip.1, man/zipsplit.1, man/zipnote.1,
+ man/zipcloak.1 (Ed)
+ 8. Add noted for UTF-8 locale. zip.c (Ed)
+ 9. Set UTF-8 locale for Unix in utilities if UNICODE_SUPPORT enabled
+ so can display and process paths in archives correctly. zipsplit.c,
+ zipcloak.c, zipnote.c (Ed)
+------------------------ May 12th 2008 version 3.0h10 ----------------------
+ 1. Add use of new Unix UID/GID extra field and of old Unix 16-bit UID/GID
+ extra field when system uses 16-bit UIDs/GIDs to version information.
+ zip.c (SMS, Ed)
+ 2. Add Unicode Path and Unicode Comment extra fields to extra fields list.
+ Update new Unix extra field revision date. proginfo/extrafld.txt (Ed)
+ 3. Add Mac hardware platform to version information. unix/unix.c (SMS)
+------------------------ May 19th 2008 version 3.0h11 ----------------------
+ 1. Initialize f->namew when streaming stdin to fix bug. fileio.c (Ed)
+ 2. Change force_zip64 to start as -1 as unset, then use 1 for forcing use
+ of Zip64 and 0 for disabling use of Zip64. Add negation of -fz to
+ prevent use of Zip64 during streaming from stdin to a non-seekable
+ output where data descriptors will be used, which allows creating
+ archives with the old stream format but will fail if a large file is
+ streamed. Default is still to force Zip64 data descriptors when
+ streaming, which covers all cases but requires a Zip64 compatible
+ unzip. zip.c, globals.c, zipfile.c (Ed)
+ 3. Handle case of bad Unicode in archive. zipfile.c (Ed)
+------------------------ May 22nd 2008 version 3.0h12 ----------------------
+ 1. Fix bug introduced last beta that prevented streaming large files. Use
+ separate error message depending on if -fz- was used. zipfile.c (Ed)
+ 2. Change non existent to nonexistent. unix/configure (SMS)
+ 3. Don't output blank line when zipmessage_nl() gets passed an empty
+ string. This removes blank lines for skipped entries when -FS used.
+ zip.c (Ed)
+------------------------ May 27th 2008 version 3.0h13 ----------------------
+ 1. Change UNICODE_ALLOW_FORCE to UNICODE_SUPPORT, -UN=force to -UN=UTF8,
+ and unicode_force to utf8_force. This option now standard with Unicode
+ support and forces Zip to save UTF-8 paths and comments, when not ASCII,
+ as if UTF-8 were the native character set. globals.c, zip.c, zip.h (Ed)
+ 2. Add note to Todo that it's out of date. TODO (Ed)
+ 3. Update WhatsNew. WHATSNEW (Ed)
+ 4. Update Unicode help in extended help. zip.c (Ed)
+ 5. Update announcements. zip30h.ann, zip30.ann (Ed)
+ 6. Fix bug with -UN=UTF8. zip.c, zipfile.c (Ed)
+ 7. Update Zip manual. man/zip.1, zip.txt (Ed)
+ 8. Attempt an update to zip limits document. proginfo/ziplimit.txt (Ed)
+ 9. Update README regarding forum postings. README (Ed)
+10. Remove duplicate initialization lines for found and fnxt. zip.c (SMS)
+------------------------ May 28th 2008 version 3.0h14 ----------------------
+ 1. Remove >= 0 check from wide character check as value is unsigned.
+ fileio.c (SMS)
+ 2. In putlocal(), move nam and use_uname to UNICODE_SUPPORT block. If
+ no UNICODE_SUPPORT use z->nam instead of nam. zipfile.c (SMS, Ed)
+ 3. Update announcement date for beta. zip30h.ann (Ed)
+------------------------ May 31st 2008 version 3.0h ------------------------
+ 1. In putlocal() if using UTF-8 bit then also set UTF-8 bit in z->lflg so
+ is set in local header for streaming. zipfile.c (Ed)
+ 2. Update announcement date for beta. zip30h.ann (Ed)
+ 3. Rename lib and dll projects to zip32z64 and update project files so
+ project name is same as lib and dll libraries. Export make files.
+ windll/visualc/dll/zip32z64.dsp, windll/visualc/dll/zip32z64.dsw,
+ windll/visualc/dll/zip32z64.mak, windll/visualc/libzip32z64.dsp,
+ windll/visualc/libzip32z64.dsw, windll/visualc/libzip32z64.mak (Ed)
+------------------------ June 7th 2008 version 3.0i01 ----------------------
+ 1. Update Mac ReadMe to note Mac OS X uses Unix port. macos/readme.1st (Ed)
+ 2. Change UNIX to Unix in manual. Update dates in manual and add note
+ about Mac OS X. Change switch to switches. zip.1 (SMS, Ed)
+ 3. Add version information under Windows by adding a version resource.
+ win32/vc6/zip.dsp, win32/vc6bz2/zip.dsp, win32/zip.rc (Ed)
+------------------------ June 15th 2008 version 3.0i02 ----------------------
+ 1. Update Install instructions. INSTALL (Ed)
+ 2. Update ReadMe. README (Ed)
+ 3. Update ToDo list. TODO (Ed)
+ 4. Update WhatsNew. WHATSNEW (Ed)
+ 5. Add note to WHERE. WHERE (Ed)
+ 6. Update announcement. zip30.ann (Ed)
+ 7. Review man pages and update Zip man page. Compile text files from man
+ pages. man/zip.1, zip.txt, zipnote.txt, zipsplit.txt, zipcloak.txt (Ed)
+ 8. Update extended help. zip.c (Ed)
+------------------------ June 17th 2008 version 3.0i03 ----------------------
+ 1. Fix bug where UTF-8 flag was not being set when using_utf8 was set as
+ result of UTF-8 being current character set. zipfile.c (Ed)
+ 2. Update man page globbing description. man/zip.1, zip.txt (SMS, Ed)
+ 3. Update web address to bzip2 package for VMS. vms/install_vms.txt (SMS)
+------------------------ June 21st 2008 version 3.0i04 ----------------------
+ 1. Update comments. zbz2err.c (Christian)
+ 2. Put use_uname in UNICODE_SUPPORT block. zipfile.c (Christian)
+ 3. Increase st to 0x1400. msdos/makefile.msc (Christian)
+ 4. Update copyright and put @CodeSize and @DataSize into ifndef blocks for
+ Huge, Large, Compact, Medium, and Small. msdos/match.asm (Christian)
+ 5. Add check to disable symbolic links. msdos/osdep.h (Christian)
+ 6. Put Mac OS X compiler check into if Mac OS X block to avoid problems on
+ some other Unix ports with the check. unix/configure (SMS)
+ 7. Move set_extra_field() to fix compile problem. unix/unix.c (SMS)
+ 8. Update USEBZIP2 to USEBZ2 and -DUSE_BZIP2 to -DBZIP2_SUPPORT. Drop
+ -DMSDOS compile flag. win32/makefile.w32 (Christian)
+ 9. Change BZIP2_SUPPORT to USEBZ2. win32/makenoas.w32 (Christian)
+------------------------ June 23rd 2008 version 3.0i05 ----------------------
+ 1. Update and unify resources. Remove any MFC dependencies from the resource
+ files zip.rc and windll.rc. win32/zip.rc and windll/windll.rc now read
+ the version info from revision.h. windll.rc internal flags modified to
+ "32-bit dll". zip.rc internal flags liberated from "winnt 32-bit"
+ to "generic 32-bit windows". Win32 zip.exe also supported on Win9x
+ (32-bit). Update makefiles for Borland, MSC, GCC(mingw32), Watcom
+ to support inclusion of zip.rc version resources into zip.exe binary.
+ revision.h, msdos/osdep.h, win32/makefile.bor, win32/makefile.gcc,
+ win32/makefile.w10, win32/makefile.w32, win32/makefile.wat,
+ win32/makenoas.w32, win32/zip.rc, windll/windll.rc (Christian)
+ 2. Remove unused files. win32/resource.h, windll/resource.h,
+ windll/windll.aps, windll/zipver.h, windll/visualc/dll/zip32z64.mak,
+ windll/visualc/lib/zip32z64.mak (Christian)
+ 3. Update VMS. vms/descrip_deps.mms (SMS)
+------------------------ June 26th 2008 version 3.0i06 ----------------------
+ 1. Update Install and Readme in preparation for release. Update WhatsNew.
+ INSTALL, README, WHATSNEW (Ed)
+ 2. Update announcement. zip30.ann (Ed)
+ 3. Update original Visual Basic project comments and documentation.
+ windll/vb/readmevb.txt, windll/vb/vbzip.vbp, windll/vb/vbzip.vbw,
+ windll/vb/vbzipbas.bas, windll/vb/vbzipfrm.frm (Ed)
+ 4. Add bzip2 version of djgpp 2.x makefile thanks to Robert. Assumes a
+ standard djgpp installation. msdos/makebz2.dj2 (Robert Riebisch, Ed)
+------------------------ June 27th 2008 version 3.0i07 ----------------------
+ 1. Add DJGPP to bzip2 install instructions. bzip2/install.txt,
+ msdos/makebz2.dj2 (Robert, Ed)
+------------------------- July 5th 2008 version 3.0 -------------------------
+ 1. Add -sd to extended help. zip.c (Will, Ed)
+ 2. Fix memory bug when rebuilding Zip64 central directory extra field which
+ can crash MinGW and other ports when processing large files. zipfile.c
+ (Will)
+ 3. Fix -v bug preventing display of version information when options in
+ environment variables. zip.c (Ed)
+ 4. Update WhatsNew. WHATSNEW (Ed)
+ 5. Update announcement. zip30.ann (Ed)