home *** CD-ROM | disk | FTP | other *** search
- diff -cr zip19/Where zip19p1/Where
- *** zip19/Where Thu Aug 20 18:55:08 1992
- --- zip19p1/Where Wed Aug 26 15:13:30 1992
- ***************
- *** 1,8 ****
- __________________________________________________________________________
-
- ! This is the Info-ZIP file ``Where,'' last updated on 20 August 1992.
- __________________________________________________________________________
-
-
- SITE OWNERS: If you're listed in here but the information is not
- correct (or if you're a big site but aren't listed at all), please
- --- 1,11 ----
- __________________________________________________________________________
-
- ! This is the Info-ZIP file ``Where,'' last updated on 26 August 1992.
- __________________________________________________________________________
-
- + Note that some ftp sites may not yet have the latest versions of
- + zip and unzip when you read this. The latest versions are always on
- + the comp.sources.misc archives.
-
- SITE OWNERS: If you're listed in here but the information is not
- correct (or if you're a big site but aren't listed at all), please
- ***************
- *** 13,25 ****
- utilities (on some ftp sites, the .zip files may have a .zoo equivalent
- in zoo 2.10 format):
-
- ! zip19.zip Zip 1.9 (includes zipnote and zipsplit)
- ! zip19.tar.Z ditto, compress'd tar format
-
- unzip50.zip UnZip 5.0 (includes zipinfo and funzip)
- unzip50.tar.Z ditto, compress'd tar format
-
- ! wunz12sr.zip WizUnZip 1.2 support files for Windows 3.1, UnZip 5.0
-
- zcrypt19.zip encryption/decryption support (includes zipcloak)
-
- --- 16,28 ----
- utilities (on some ftp sites, the .zip files may have a .zoo equivalent
- in zoo 2.10 format):
-
- ! zip19p1.zip Zip 1.9 (includes zipnote and zipsplit), patch level 1
- ! zip19p1.tar.Z ditto, compress'd tar format
-
- unzip50.zip UnZip 5.0 (includes zipinfo and funzip)
- unzip50.tar.Z ditto, compress'd tar format
-
- ! wunz13sr.zip WizUnZip 1.3 support files for Windows 3.1, UnZip 5.0
-
- zcrypt19.zip encryption/decryption support (includes zipcloak)
-
- ***************
- *** 27,33 ****
-
- UnzpHist.zip changes history of UnZip, back to 2.0
-
- ! zip19x.zip MSDOS executables and docs for zip, zipnote, zipsplit
- unzip50.exe MSDOS executable for unzip
-
- zip19_16.zip OS/2 1.x 16-bit executables and docs
- --- 30,36 ----
-
- UnzpHist.zip changes history of UnZip, back to 2.0
-
- ! zip19p1x.zip MSDOS executables and docs for zip, zipnote, zipsplit
- unzip50.exe MSDOS executable for unzip
-
- zip19_16.zip OS/2 1.x 16-bit executables and docs
- ***************
- *** 48,55 ****
-
- ftp sites for the US-exportable sources and executables. Look for
- the file names given above in the following directories. Some sites
- ! like to use slightly different names, such as zip-1.9.tar-z instead
- ! of zip19.tar.Z.
-
- wuarchive.wustl.edu:/packages/compression/...
- wuarchive.wustl.edu:/mirrors/misc/unix/...
- --- 51,58 ----
-
- ftp sites for the US-exportable sources and executables. Look for
- the file names given above in the following directories. Some sites
- ! like to use slightly different names, such as zip-1.9p1.tar-z instead
- ! of zip19p1.tar.Z.
-
- wuarchive.wustl.edu:/packages/compression/...
- wuarchive.wustl.edu:/mirrors/misc/unix/...
- diff -cr zip19/deflate.c zip19p1/deflate.c
- *** zip19/deflate.c Tue Aug 18 11:54:28 1992
- --- zip19p1/deflate.c Tue Aug 25 10:49:40 1992
- ***************
- *** 459,465 ****
- * Fill the window when the lookahead becomes insufficient.
- * Updates strstart and lookahead, and sets eofile if end of input file.
- * IN assertion: lookahead < MIN_LOOKAHEAD && strstart + lookahead > 0
- ! * OUT assertion: at least one byte has been read, or eofile is set.
- */
- local void fill_window()
- {
- --- 459,467 ----
- * Fill the window when the lookahead becomes insufficient.
- * Updates strstart and lookahead, and sets eofile if end of input file.
- * IN assertion: lookahead < MIN_LOOKAHEAD && strstart + lookahead > 0
- ! * OUT assertions: at least one byte has been read, or eofile is set;
- ! * file reads are performed for at least two bytes (required for the
- ! * translate_eol option).
- */
- local void fill_window()
- {
- ***************
- *** 470,476 ****
- /* If the window is full, move the upper half to the lower one to make
- * room in the upper half.
- */
- ! if (more == 0) {
- /* By the IN assertion, the window is not empty so we can't confuse
- * more == 0 with more == 64K on a 16 bit machine.
- */
- --- 472,483 ----
- /* If the window is full, move the upper half to the lower one to make
- * room in the upper half.
- */
- ! if (more == (unsigned)EOF) {
- ! /* Very unlikely, but possible on 16 bit machine if strstart == 0
- ! * and lookahead == 1 (input done one byte at time)
- ! */
- ! more--;
- ! } else if (more <= 1) {
- /* By the IN assertion, the window is not empty so we can't confuse
- * more == 0 with more == 64K on a 16 bit machine.
- */
- ***************
- *** 477,486 ****
- memcpy((char*)window, (char*)window+WSIZE, (unsigned)WSIZE);
- match_start -= WSIZE;
- strstart -= WSIZE;
- ! /* strstart - WSIZE = WSIZE - lookahead > WSIZE - MIN_LOOKAHEAD
- ! * so we now have strstart > MAX_DIST:
- */
- ! Assert (strstart > MAX_DIST, "window slide too early");
- block_start -= (long) WSIZE;
-
- for (n = 0; n < HASH_SIZE; n++) {
- --- 484,493 ----
- memcpy((char*)window, (char*)window+WSIZE, (unsigned)WSIZE);
- match_start -= WSIZE;
- strstart -= WSIZE;
- ! /* strstart - WSIZE >= WSIZE - 1 - lookahead >= WSIZE - MIN_LOOKAHEAD
- ! * so we now have strstart >= MAX_DIST:
- */
- ! Assert (strstart >= MAX_DIST, "window slide too early");
- block_start -= (long) WSIZE;
-
- for (n = 0; n < HASH_SIZE; n++) {
- ***************
- *** 494,508 ****
- * its value will never be used.
- */
- }
- ! more = WSIZE;
- if (verbose) putc('.', stderr);
- -
- - } else if (more == (unsigned)EOF) {
- - /* Very unlikely, but possible on 16 bit machine if strstart == 0
- - * and lookahead == 1 (input done one byte at time)
- - */
- - more--;
- }
- n = read_buf((char*)window+strstart+lookahead, more);
- if (n == 0 || n == (unsigned)EOF) {
- eofile = 1;
- --- 501,510 ----
- * its value will never be used.
- */
- }
- ! more += WSIZE;
- if (verbose) putc('.', stderr);
- }
- + /* At this point, more >= 2 */
- n = read_buf((char*)window+strstart+lookahead, more);
- if (n == 0 || n == (unsigned)EOF) {
- eofile = 1;
- diff -cr zip19/fileio.c zip19p1/fileio.c
- *** zip19/fileio.c Tue Aug 18 12:34:34 1992
- --- zip19p1/fileio.c Wed Aug 26 11:53:38 1992
- ***************
- *** 1544,1551 ****
- #ifdef S_IFLNK
- linkput ? lstat(name, &s) :
- #endif
- ! SSTAT(name, &s)) != 0 /* || (s.st_mode & S_IFDIR) != 0 */ )
- ! /* Accept about any file kind except directories */
- return 0;
-
- if (a != NULL)
- --- 1544,1553 ----
- #ifdef S_IFLNK
- linkput ? lstat(name, &s) :
- #endif
- ! SSTAT(name, &s)) != 0)
- ! /* Accept about any file kind including directories
- ! * (stored with trailing / with -r option)
- ! */
- return 0;
-
- if (a != NULL)
- ***************
- *** 1587,1594 ****
-
- int deletedir(d)
- char *d; /* directory to delete */
- ! /* Delete the (empty) directory *d. Return the result of rmdir(), delete(),
- ! or system(). */
- {
- #ifdef MACOS
- warn("deletedir not implemented yet", "");
- --- 1589,1597 ----
-
- int deletedir(d)
- char *d; /* directory to delete */
- ! /* Delete the directory *d if it is empty, do nothing otherwise.
- ! Return the result of rmdir(), delete(), or system().
- ! */
- {
- #ifdef MACOS
- warn("deletedir not implemented yet", "");
- diff -cr zip19/history zip19p1/history
- *** zip19/history Thu Aug 20 20:04:56 1992
- --- zip19p1/history Wed Aug 26 15:31:18 1992
- ***************
- *** 908,913 ****
- --- 908,926 ----
- 8. Fixed vms/vms_zip.rnh
- 9. Fixed init_upper() in util.c and os2zip.c (Kai-Uwe)
-
- + ------------------------ Aug 26 1992 version 1.9p1 ------------------------
- + This is official patch 1 for zip 1.9, not a beta version.
- +
- + 1. Simplified makefile entry for convex (Rafal Maszkowski)
- + 2. Do not use 'const' even for djgcc (Onno van der Linden)
- + 3. Use gcc in linux makefile entry (Arnt Gulbrandsen)
- + 4. Fix serious bug in -l option (file truncated).
- + 5. Fix stack problem for OS/2 IBM-C (Kai-Uwe)
- + 6. Fix serious bug in zipup.c sometimes causing file truncation to zero bytes
- + or internal error (Timo Salmi and Robert Tobler)
- + 7. Do not unlink() directories when running as root (Charles Hannum)
- + 8. Fix msdos/makefile.bor and msdos/makefile.gcc (Onno van der Linden)
- +
-
- Things to check or to be done (see also BUGS section in zip.1):
-
- diff -cr zip19/infozip.who zip19p1/infozip.who
- *** zip19/infozip.who Thu Aug 20 19:46:40 1992
- --- zip19p1/infozip.who Wed Aug 26 15:32:02 1992
- ***************
- *** 30,35 ****
- --- 30,36 ----
- Hunter Goatley goathunter@WKUVX1.BITNET Vax VMS
- Arnt Gulbrandsen agulbra@pvv.unit.no Linux
- David Gundlach david@rolf.stat.uga.edu Sun SS1+ SunOS 4.1
- + Charles Hannum mycroft@ai.mit.edu bug report
- Bob Hardy hardy@lucid.com Power C on MSDOS
- Peter Jones jones@mips1.info.uqam.ca MIPS UMIPS 4.0
- Kjetil W. J{\o}rgensen jorgens@lise.unit.no OSF/1
- ***************
- *** 44,51 ****
- Michael D. Lawler mdlawler@bsu-cs.bsu.edu Mt.Xinu BSD 4.3 on VAX
- Johnny Lee johnnyl@microsoft.com Microsoft C 7.0
- David Lemson lemson@ux1.cso.uiuc.edu Sequent Dynix 3.0.17
- ! Onno van der Linden vdlinden@fwi.uva.nl SCO Unix 3.2.0
- ! BC++ 3.0, djgcc 1.06
- Warner Losh imp@Solbourne.COM packing algorithm help
- John Lundin lundin@urvax.urich.edu VAX VMS
- Igor Mandrichenko mandrichenko@m10.ihep.su VAX VMS
- --- 45,52 ----
- Michael D. Lawler mdlawler@bsu-cs.bsu.edu Mt.Xinu BSD 4.3 on VAX
- Johnny Lee johnnyl@microsoft.com Microsoft C 7.0
- David Lemson lemson@ux1.cso.uiuc.edu Sequent Dynix 3.0.17
- ! Onno van der Linden vdlinden@fwi.uva.nl SCO Unix 3.2.0, 386/BSD
- ! BC++ 3.0, djgcc 1.08
- Warner Losh imp@Solbourne.COM packing algorithm help
- John Lundin lundin@urvax.urich.edu VAX VMS
- Igor Mandrichenko mandrichenko@m10.ihep.su VAX VMS
- ***************
- *** 77,86 ****
- --- 78,90 ----
- Kai Uwe Rommel rommel@informatik.tu-muenchen.de OS/2
- Jon Saxton jrs@panix.com Microsoft C 6.0
- Steve Salisbury stevesa@microsoft.com Microsoft C 6.0
- + Timo Salmi ts@uwasa.fi bug report
- Martin Schulz martin@indian.cs.unb.ca Atari ST
- Dave Sisson daves@vtcosy.cns.vt.edu AIX 1.1.1 PS/2 & 3090
- Ron Srodawa srodawa@vela.acs.oakland.edu SCO Xenix/386 2.3.3
- Bertil Stenstr|m stenis@heron.qz.se HP-UX 7.0 HP9000/835
- + Paul Telles paul@pubnet.com SCO Xenix
- + Robert F Tobler rft@cs.stanford.edu bug report
- Antoine Verheijen antoine@sysmail.ucs.ualberta.ca envargs fix
- Arjan de Vet devet@info.win.tue.nl SunOS 4.1, MSC 5.1
- Rich Wales wales@cs.ucla.edu SunOS 4.0.3 Sun-3/50
- diff -cr zip19/install.doc zip19p1/install.doc
- *** zip19/install.doc Thu Aug 20 18:31:04 1992
- --- zip19p1/install.doc Tue Aug 25 11:20:40 1992
- ***************
- *** 41,51 ****
- cannot find _memset or _memcpy, try bsdold. If you are using
- System V Unix or SCO Unix, try sysv or sysv_old. Also use sysv
- on a Silicon Graphics (SGI) machine. You can also cross-compile
- ! Zip for MSDOS under SCO 386 Unix using "make scodos".
-
- If none of these compiles, links, and functions properly on
- ! your Unix system, see the section BUGS below for how to get
- ! help.
-
- If the appropriate system was selected, then the executables
- zip, zipnote and zipsplit will be created. You can copy them
- --- 41,52 ----
- cannot find _memset or _memcpy, try bsdold. If you are using
- System V Unix or SCO Unix, try sysv or sysv_old. Also use sysv
- on a Silicon Graphics (SGI) machine. You can also cross-compile
- ! Zip for MSDOS under SCO 386 Unix using "make scodos". If you get
- ! error messages "constant expected" in deflate.c, add -DDYN_ALLOC
- ! to CFLAGS in your makefile entry.
-
- If none of these compiles, links, and functions properly on
- ! your Unix system, see the file Readme for how to get help.
-
- If the appropriate system was selected, then the executables
- zip, zipnote and zipsplit will be created. You can copy them
- diff -cr zip19/makefile zip19p1/makefile
- *** zip19/makefile Wed Aug 19 18:17:38 1992
- --- zip19p1/makefile Wed Aug 26 15:01:22 1992
- ***************
- *** 4,13 ****
- all:
- @echo ''
- @echo 'Make what? You must say what system to make Zip for--e.g.'
- ! @echo '"make bsd". Choices: bsd, bsdold, sysv, sysv_old, sysv_386,'
- ! @echo 'dnix, linux, sun, sun_gcc, next10, next, hpux, cray, cray3,'
- ! @echo '3b1, att6300, zilog, scodos, aux, c120, convex, aix, minix,'
- ! @echo 'isc, ultrix, dec_osf1 and xos.'
- @echo 'See the files install.doc and zip.doc for more information.'
- @echo ''
-
- --- 4,13 ----
- all:
- @echo ''
- @echo 'Make what? You must say what system to make Zip for--e.g.'
- ! @echo '"make bsd". Choices: 3b1, aix, att6300, aux, bsd, bsdold,'
- ! @echo 'convex, cray, cray3, dec_osf1, dnix, hpux, isc, linux,'
- ! @echo 'minix, next, next10, scodos, sun, sun_gcc, sysv, sysv_386,'
- ! @echo 'sysv_old, ultrix, xenix, xos, zilog.'
- @echo 'See the files install.doc and zip.doc for more information.'
- @echo ''
-
- ***************
- *** 120,126 ****
- bsdold:
- $(MAKE) zips CFLAGS="-O -DZMEM"
-
- ! # AT&T System V, Rel 3. Also SCO, Xenix, OpenDeskTop, ETA-10P*, SGI.
- sysv_old:
- $(MAKE) zips CFLAGS="-O -DDIRENT"
-
- --- 120,126 ----
- bsdold:
- $(MAKE) zips CFLAGS="-O -DZMEM"
-
- ! # AT&T System V, Rel 3. Also SCO Unix, OpenDeskTop, ETA-10P*, SGI.
- sysv_old:
- $(MAKE) zips CFLAGS="-O -DDIRENT"
-
- ***************
- *** 132,145 ****
- sysv_386:
- $(MAKE) zips CFLAGS="-O -DSYSV -DTERMIO -DASM" OBJA=match.o
-
- # DNIX 5.x: like System V but optimization is messed up.
- dnix:
- $(MAKE) zips CFLAGS="-DDIRENT"
-
- ! # Linux 0.96a with GCC 2.12, dies with <= 2.11c. The problem with
- ! # builtin functions still has to be investigated.
- linux:
- ! $(MAKE) zips CFLAGS="-O -fno-builtin -DSYSV -DTERMIO -DLINUX"
-
- # Sun OS 4.x: BSD, but use getdents(). If you have gcc, use 'make sun_gcc'
- # instead since the code produced is better.
- --- 132,151 ----
- sysv_386:
- $(MAKE) zips CFLAGS="-O -DSYSV -DTERMIO -DASM" OBJA=match.o
-
- + # SCO Xenix
- + xenix:
- + $(MAKE) zips CFLAGS="-O -DSYSV -DTERMIO" LFLAGS2="-lx -s"
- +
- # DNIX 5.x: like System V but optimization is messed up.
- dnix:
- $(MAKE) zips CFLAGS="-DDIRENT"
-
- ! # Linux 0.96a with GCC 2.12, dies with <= 2.11c. builtin functions are
- ! # disabled because '#define const' removes const from normal functions
- ! # but not builtin ones. And keeping const causes problems on other systems.
- linux:
- ! $(MAKE) zips CFLAGS="-O -fno-builtin -DSYSV -DTERMIO -DLINUX" \
- ! CC=gcc BIND=gcc
-
- # Sun OS 4.x: BSD, but use getdents(). If you have gcc, use 'make sun_gcc'
- # instead since the code produced is better.
- ***************
- *** 197,209 ****
- aux:
- $(MAKE) zips CFLAGS="-O -DTERMIO"
-
- ! # Convex C120, OS 9.0, cc v. 4.0, no vectorization.
- ! c120:
- ! $(MAKE) zips CFLAGS="-O1 -rl -DCONVEX"
- !
- ! # Convex C220, OS 9.0
- convex:
- ! $(MAKE) zips CFLAGS="-O2 -rl -DCONVEX"
-
- # AIX Version 3.1 for RISC System/6000
- aix:
- --- 203,211 ----
- aux:
- $(MAKE) zips CFLAGS="-O -DTERMIO"
-
- ! # Convex C-120, C-210, OS 9.0, cc v. 4.0, no vectorization used.
- convex:
- ! $(MAKE) zips CFLAGS="-O"
-
- # AIX Version 3.1 for RISC System/6000
- aix:
- diff -cr zip19/revision.h zip19p1/revision.h
- *** zip19/revision.h Thu Aug 20 17:59:20 1992
- --- zip19p1/revision.h Wed Aug 26 14:46:28 1992
- ***************
- *** 14,20 ****
- */
-
- #define REVISION 19
- ! #define REVDATE "Aug 20th 1992"
-
- /* Copyright notice for binary executables--this notice only applies to
- * those (zip, zipcloak, zipsplit, and zipnote), not to this file
- --- 14,21 ----
- */
-
- #define REVISION 19
- ! #define PATCHLEVEL 1
- ! #define REVDATE "Aug 26th 1992"
-
- /* Copyright notice for binary executables--this notice only applies to
- * those (zip, zipcloak, zipsplit, and zipnote), not to this file
- diff -cr zip19/tailor.h zip19p1/tailor.h
- *** zip19/tailor.h Tue Aug 18 13:14:44 1992
- --- zip19p1/tailor.h Wed Aug 26 14:50:20 1992
- ***************
- *** 2,10 ****
-
- /* const's are inconsistently used across ANSI libraries--kill for all
- header files. */
- ! #ifndef __GO32__
- ! # define const
- ! #endif
-
-
- /* Define MSDOS for Turbo C as well as Microsoft C */
- --- 2,8 ----
-
- /* const's are inconsistently used across ANSI libraries--kill for all
- header files. */
- ! #define const
-
-
- /* Define MSDOS for Turbo C as well as Microsoft C */
- ***************
- *** 53,58 ****
- --- 51,59 ----
- # define OS2
- #endif
-
- + #ifdef __convexc__
- + # define CONVEX
- + #endif /* __convexc__ */
-
- /* Turn off prototypes if requested */
- #if (defined(NOPROTO) && defined(PROTO))
- diff -cr zip19/zip.1 zip19p1/zip.1
- *** zip19/zip.1 Thu Aug 20 20:00:14 1992
- --- zip19p1/zip.1 Tue Aug 25 10:19:48 1992
- ***************
- *** 550,555 ****
- --- 550,558 ----
- it only displays a warning "name not matched". A better warnign should be
- given.
- .PP
- + The option -e also forces -o (make zipfile as old as latest entry). This
- + is used to make brute force attacks on the password harder.
- + .PP
- Under VMS, not all of the odd file formats are treated properly. Only
- zip files of format stream-LF and fixed length 512 are expected to work
- with zip. Others can be converted using Rahul Dhesi's BILF program.
- diff -cr zip19/zip.doc zip19p1/zip.doc
- *** zip19/zip.doc Thu Aug 20 19:48:58 1992
- --- zip19p1/zip.doc Wed Aug 26 14:26:34 1992
- ***************
- *** 28,34 ****
-
- zip version 1.9 is compatible with pkzip 1.93a. Note that
- pkunzip 1.10 cannot extract files produced by pkzip 1.93a or
- ! zip 1.9b. You must use pkunzip 1.93a or unzip 5.0 to extract
- them.
-
- For a brief help on zip and unzip, run each without specify-
- --- 28,34 ----
-
- zip version 1.9 is compatible with pkzip 1.93a. Note that
- pkunzip 1.10 cannot extract files produced by pkzip 1.93a or
- ! zip 1.9. You must use pkunzip 1.93a or unzip 5.0 to extract
- them.
-
- For a brief help on zip and unzip, run each without specify-
- ***************
- *** 464,478 ****
- unzip(1), tar(1), compress(1)
-
- BUGS
- ! WARNING: zip files produced by this version of zip must not
- ! be *updated* by zip 1.0 or pkzip 1.10 or pkzip 1.93a, if
- ! they contain encrypted members, or if they have been pro-
- ! duced in a pipe or on a non seekable device. The old ver-
- ! sions of zip or pkzip would destroy the zip structure. The
- ! old versions can list the contents of the zip file but can-
- ! not extract it anyway (because of the new compression algo-
- ! rithm). If you do not use encryption and use regular disk
- ! files, you do not have to care about this problem.
-
- zip 1.9 is compatible with pkzip 1.93a, except when two
- features are used: encryption or zip file created in a pipe
- --- 464,478 ----
- unzip(1), tar(1), compress(1)
-
- BUGS
- ! WARNING: zip files produced by zip 1.9 must not be *updated*
- ! by zip 1.0 or pkzip 1.10 or pkzip 1.93a, if they contain
- ! encrypted members, or if they have been produced in a pipe
- ! or on a non seekable device. The old versions of zip or
- ! pkzip would destroy the zip structure. The old versions can
- ! list the contents of the zip file but cannot extract it any-
- ! way (because of the new compression algorithm). If you do
- ! not use encryption and use regular disk files, you do not
- ! have to care about this problem.
-
- zip 1.9 is compatible with pkzip 1.93a, except when two
- features are used: encryption or zip file created in a pipe
- ***************
- *** 482,487 ****
- --- 482,491 ----
- Without -y, when zip must compress a symbolic link to an non
- existing file, it only displays a warning "name not
- matched". A better warnign should be given.
- +
- + The option -e also forces -o (make zipfile as old as latest
- + entry). This is used to make brute force attacks on the
- + password harder.
-
- Under VMS, not all of the odd file formats are treated prop-
- erly. Only zip files of format stream-LF and fixed length
- diff -cr zip19/zipfile.c zip19p1/zipfile.c
- *** zip19/zipfile.c Tue Aug 18 11:54:32 1992
- --- zip19p1/zipfile.c Wed Aug 26 14:35:42 1992
- ***************
- *** 753,763 ****
- for (z = zfiles; z != NULL; z = z->nxt)
- if (z->mark || z->trash)
- {
- ! z->mark = 1;
- ! n++;
- ! if (verbose)
- ! printf("zip diagnostic: trashing file %s\n", z->name);
- ! destroy(z->name);
- }
-
- /* Try to delete all paths that lead up to marked names */
- --- 753,767 ----
- for (z = zfiles; z != NULL; z = z->nxt)
- if (z->mark || z->trash)
- {
- ! if (z->zname[z->nam - 1] == '/') /* directory */
- ! z->mark = z->trash = 0;
- ! else {
- ! z->mark = 1;
- ! n++;
- ! if (verbose)
- ! printf("zip diagnostic: trashing file %s\n", z->name);
- ! destroy(z->name);
- ! }
- }
-
- /* Try to delete all paths that lead up to marked names */
- ***************
- *** 779,785 ****
- if (*cutpath(s[i]->name) && strcmp(s[i]->name, s[i-1]->name))
- {
- if (verbose)
- ! printf("zip diagnostic: trashing directory %s\n", s[i]->name);
- deletedir(s[i]->name);
- k++;
- }
- --- 783,790 ----
- if (*cutpath(s[i]->name) && strcmp(s[i]->name, s[i-1]->name))
- {
- if (verbose)
- ! printf("zip diagnostic: trashing directory %s (if empty)\n",
- ! s[i]->name);
- deletedir(s[i]->name);
- k++;
- }
- diff -cr zip19/zipup.c zip19p1/zipup.c
- *** zip19/zipup.c Tue Aug 18 11:54:32 1992
- --- zip19p1/zipup.c Wed Aug 26 13:51:42 1992
- ***************
- *** 170,176 ****
- --- 170,179 ----
- long q = -2L; /* size returned by filetime */
- int r; /* temporary variable */
- ulg s = 0L; /* size of compressed data */
- + int isdir; /* set for a directory name */
-
- + isdir = z->name[strlen(z->name)-1] == '/';
- +
- if ((z->tim = filetime(z->name, &a, &q)) == 0 || q < -1L)
- return ZE_OPEN;
- /* q is set to -1 if the input file is a device */
- ***************
- *** 201,207 ****
- l = issymlnk(a);
- if (l)
- ifile = fbad;
- ! else if (z->name[z->nam - 1] == '/') { /* directory */
- ifile = fbad;
- m = STORE;
- }
- --- 204,210 ----
- l = issymlnk(a);
- if (l)
- ifile = fbad;
- ! else if (isdir) { /* directory */
- ifile = fbad;
- m = STORE;
- }
- ***************
- *** 300,306 ****
- if ((b = malloc(CBSZ)) == NULL)
- return ZE_MEM;
-
- ! if (z->name[z->nam - 1] != '/') /* no read for directories */
- while ((k = l ? rdsymlnk(z->name, b, CBSZ) : zread(ifile, b, CBSZ)) > 0)
- {
- isize += k;
- --- 303,309 ----
- if ((b = malloc(CBSZ)) == NULL)
- return ZE_MEM;
-
- ! if (!isdir) /* no read for directories */
- while ((k = l ? rdsymlnk(z->name, b, CBSZ) : zread(ifile, b, CBSZ)) > 0)
- {
- isize += k;
- ***************
- *** 405,417 ****
- unsigned len;
- char far *b;
- if (translate_eol) {
- - /* static char last_byte = '\0'; */
- size >>= 1;
- b = buf+size;
- size = len = zread(ifile, b, size);
- if (len == (unsigned)EOF || len == 0) return len;
- do {
- - /* ??? keep cr lf intact */
- if ((*buf++ = *b++) == '\n') *(buf-1) = '\r', *buf++ = '\n', len++;
- } while (--size != 0);
- buf -= len;
- --- 408,418 ----
-