home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 9 Archive
/
09-Archive.zip
/
ZIP19P1.ZIP
/
patch01
< prev
next >
Wrap
Text File
|
1993-01-23
|
34KB
|
860 lines
Newsgroups: comp.sources.misc
Path: wupost!darwin.sura.net!haven.umd.edu!uunet!sparky!kent
From: zip-bugs@cs.ucla.edu (Info-ZIP group)
Subject: v31i133: zip19 - Info-ZIP portable Zip, version 1.9, Patch01
Message-ID: <1992Sep2.195252.14041@sparky.imd.sterling.com>
Followup-To: comp.sources.d
X-Md4-Signature: ac4aa05e5d13e72d7ea305ec4be64c0f
Sender: kent@sparky.imd.sterling.com (Kent Landfield)
Organization: Sterling Software
References: <csm-v31i093=zip19.014410@sparky.IMD.Sterling.COM>
Date: Wed, 2 Sep 1992 19:52:52 GMT
Approved: kent@sparky.imd.sterling.com
Lines: 845
Submitted-by: zip-bugs@cs.ucla.edu (Info-ZIP group)
Posting-number: Volume 31, Issue 133
Archive-name: zip19/patch01
Patch-To: zip19: Volume 31, Issue 93-103
Environment: UNIX, VMS, OS/2, MS-DOS, MACINTOSH, WIN-NT, LINUX, MINIX, XOS, !AMIGA, ATARI, symlink, SGI, DEC, Cray, Convex, Amdahl, Sun, PC
This is Patch01 to zip 1.9. The patches enclosed fix the main bugs reported
in zip 1.9:
- file truncation to zero bytes for some file names
- file truncation for large files with option -l
- possible removal of non empty directories with option -m when run as root
Other minor changes are documented in the file 'history'. These changes
constitute zip 1.9 patch level 1. The complete package is available by
anonymous ftp on garbo.uwasa.fi:/unix/arcers/zip19p1.zip or zip19p1.tar.Z,
and should become available soon on the main US archive sites.
Patch01 actually consists of two patches. Both patch files are enclosed in
this shar file. The patches for msdos/makefile.bor, msdos/makefile.gcc and
os2/os2zip.c have been uuencoded and should automagically be uudecoded when
unshared. [And if they don't, send mail to Kent as this is his doing.] To
apply Patch01, cd to the zip19 sources directory and unshar the enclosed
patches. Then apply the patches.
patch -p1 < patch1.1
patch -p1 < patch1.2
Please report problems with zip and unzip to zip-bugs@cs.ucla.edu.
Thanks.
Jean-loup Gailly
jloup@chorus.fr
--------------
#! /bin/sh
# This is a shell archive. Remove anything before this line, then feed it
# into a shell via "sh file" or similar. To overwrite existing files,
# type "sh file -c".
# Contents: patch1.1 patch1.2.uu
# Wrapped by kent@sparky on Wed Sep 2 14:21:36 1992
PATH=/bin:/usr/bin:/usr/ucb:/usr/local/bin:/usr/lbin ; export PATH
echo If this archive is complete, you will see the following message:
echo ' "shar: End of archive."'
if test -f 'patch1.1' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'patch1.1'\"
else
echo shar: Extracting \"'patch1.1'\" \(25094 characters\)
sed "s/^X//" >'patch1.1' <<'END_OF_FILE'
Xdiff -cr zip19/Where zip19p1/Where
X*** zip19/Where Thu Aug 20 18:55:08 1992
X--- zip19p1/Where Wed Aug 26 15:13:30 1992
X***************
X*** 1,8 ****
X __________________________________________________________________________
X
X! This is the Info-ZIP file ``Where,'' last updated on 20 August 1992.
X __________________________________________________________________________
X
X
X SITE OWNERS: If you're listed in here but the information is not
X correct (or if you're a big site but aren't listed at all), please
X--- 1,11 ----
X __________________________________________________________________________
X
X! This is the Info-ZIP file ``Where,'' last updated on 26 August 1992.
X __________________________________________________________________________
X
X+ Note that some ftp sites may not yet have the latest versions of
X+ zip and unzip when you read this. The latest versions are always on
X+ the comp.sources.misc archives.
X
X SITE OWNERS: If you're listed in here but the information is not
X correct (or if you're a big site but aren't listed at all), please
X***************
X*** 13,25 ****
X utilities (on some ftp sites, the .zip files may have a .zoo equivalent
X in zoo 2.10 format):
X
X! zip19.zip Zip 1.9 (includes zipnote and zipsplit)
X! zip19.tar.Z ditto, compress'd tar format
X
X unzip50.zip UnZip 5.0 (includes zipinfo and funzip)
X unzip50.tar.Z ditto, compress'd tar format
X
X! wunz12sr.zip WizUnZip 1.2 support files for Windows 3.1, UnZip 5.0
X
X zcrypt19.zip encryption/decryption support (includes zipcloak)
X
X--- 16,28 ----
X utilities (on some ftp sites, the .zip files may have a .zoo equivalent
X in zoo 2.10 format):
X
X! zip19p1.zip Zip 1.9 (includes zipnote and zipsplit), patch level 1
X! zip19p1.tar.Z ditto, compress'd tar format
X
X unzip50.zip UnZip 5.0 (includes zipinfo and funzip)
X unzip50.tar.Z ditto, compress'd tar format
X
X! wunz13sr.zip WizUnZip 1.3 support files for Windows 3.1, UnZip 5.0
X
X zcrypt19.zip encryption/decryption support (includes zipcloak)
X
X***************
X*** 27,33 ****
X
X UnzpHist.zip changes history of UnZip, back to 2.0
X
X! zip19x.zip MSDOS executables and docs for zip, zipnote, zipsplit
X unzip50.exe MSDOS executable for unzip
X
X zip19_16.zip OS/2 1.x 16-bit executables and docs
X--- 30,36 ----
X
X UnzpHist.zip changes history of UnZip, back to 2.0
X
X! zip19p1x.zip MSDOS executables and docs for zip, zipnote, zipsplit
X unzip50.exe MSDOS executable for unzip
X
X zip19_16.zip OS/2 1.x 16-bit executables and docs
X***************
X*** 48,55 ****
X
X ftp sites for the US-exportable sources and executables. Look for
X the file names given above in the following directories. Some sites
X! like to use slightly different names, such as zip-1.9.tar-z instead
X! of zip19.tar.Z.
X
X wuarchive.wustl.edu:/packages/compression/...
X wuarchive.wustl.edu:/mirrors/misc/unix/...
X--- 51,58 ----
X
X ftp sites for the US-exportable sources and executables. Look for
X the file names given above in the following directories. Some sites
X! like to use slightly different names, such as zip-1.9p1.tar-z instead
X! of zip19p1.tar.Z.
X
X wuarchive.wustl.edu:/packages/compression/...
X wuarchive.wustl.edu:/mirrors/misc/unix/...
Xdiff -cr zip19/deflate.c zip19p1/deflate.c
X*** zip19/deflate.c Tue Aug 18 11:54:28 1992
X--- zip19p1/deflate.c Tue Aug 25 10:49:40 1992
X***************
X*** 459,465 ****
X * Fill the window when the lookahead becomes insufficient.
X * Updates strstart and lookahead, and sets eofile if end of input file.
X * IN assertion: lookahead < MIN_LOOKAHEAD && strstart + lookahead > 0
X! * OUT assertion: at least one byte has been read, or eofile is set.
X */
X local void fill_window()
X {
X--- 459,467 ----
X * Fill the window when the lookahead becomes insufficient.
X * Updates strstart and lookahead, and sets eofile if end of input file.
X * IN assertion: lookahead < MIN_LOOKAHEAD && strstart + lookahead > 0
X! * OUT assertions: at least one byte has been read, or eofile is set;
X! * file reads are performed for at least two bytes (required for the
X! * translate_eol option).
X */
X local void fill_window()
X {
X***************
X*** 470,476 ****
X /* If the window is full, move the upper half to the lower one to make
X * room in the upper half.
X */
X! if (more == 0) {
X /* By the IN assertion, the window is not empty so we can't confuse
X * more == 0 with more == 64K on a 16 bit machine.
X */
X--- 472,483 ----
X /* If the window is full, move the upper half to the lower one to make
X * room in the upper half.
X */
X! if (more == (unsigned)EOF) {
X! /* Very unlikely, but possible on 16 bit machine if strstart == 0
X! * and lookahead == 1 (input done one byte at time)
X! */
X! more--;
X! } else if (more <= 1) {
X /* By the IN assertion, the window is not empty so we can't confuse
X * more == 0 with more == 64K on a 16 bit machine.
X */
X***************
X*** 477,486 ****
X memcpy((char*)window, (char*)window+WSIZE, (unsigned)WSIZE);
X match_start -= WSIZE;
X strstart -= WSIZE;
X! /* strstart - WSIZE = WSIZE - lookahead > WSIZE - MIN_LOOKAHEAD
X! * so we now have strstart > MAX_DIST:
X */
X! Assert (strstart > MAX_DIST, "window slide too early");
X block_start -= (long) WSIZE;
X
X for (n = 0; n < HASH_SIZE; n++) {
X--- 484,493 ----
X memcpy((char*)window, (char*)window+WSIZE, (unsigned)WSIZE);
X match_start -= WSIZE;
X strstart -= WSIZE;
X! /* strstart - WSIZE >= WSIZE - 1 - lookahead >= WSIZE - MIN_LOOKAHEAD
X! * so we now have strstart >= MAX_DIST:
X */
X! Assert (strstart >= MAX_DIST, "window slide too early");
X block_start -= (long) WSIZE;
X
X for (n = 0; n < HASH_SIZE; n++) {
X***************
X*** 494,508 ****
X * its value will never be used.
X */
X }
X! more = WSIZE;
X if (verbose) putc('.', stderr);
X-
X- } else if (more == (unsigned)EOF) {
X- /* Very unlikely, but possible on 16 bit machine if strstart == 0
X- * and lookahead == 1 (input done one byte at time)
X- */
X- more--;
X }
X n = read_buf((char*)window+strstart+lookahead, more);
X if (n == 0 || n == (unsigned)EOF) {
X eofile = 1;
X--- 501,510 ----
X * its value will never be used.
X */
X }
X! more += WSIZE;
X if (verbose) putc('.', stderr);
X }
X+ /* At this point, more >= 2 */
X n = read_buf((char*)window+strstart+lookahead, more);
X if (n == 0 || n == (unsigned)EOF) {
X eofile = 1;
Xdiff -cr zip19/fileio.c zip19p1/fileio.c
X*** zip19/fileio.c Tue Aug 18 12:34:34 1992
X--- zip19p1/fileio.c Wed Aug 26 11:53:38 1992
X***************
X*** 1544,1551 ****
X #ifdef S_IFLNK
X linkput ? lstat(name, &s) :
X #endif
X! SSTAT(name, &s)) != 0 /* || (s.st_mode & S_IFDIR) != 0 */ )
X! /* Accept about any file kind except directories */
X return 0;
X
X if (a != NULL)
X--- 1544,1553 ----
X #ifdef S_IFLNK
X linkput ? lstat(name, &s) :
X #endif
X! SSTAT(name, &s)) != 0)
X! /* Accept about any file kind including directories
X! * (stored with trailing / with -r option)
X! */
X return 0;
X
X if (a != NULL)
X***************
X*** 1587,1594 ****
X
X int deletedir(d)
X char *d; /* directory to delete */
X! /* Delete the (empty) directory *d. Return the result of rmdir(), delete(),
X! or system(). */
X {
X #ifdef MACOS
X warn("deletedir not implemented yet", "");
X--- 1589,1597 ----
X
X int deletedir(d)
X char *d; /* directory to delete */
X! /* Delete the directory *d if it is empty, do nothing otherwise.
X! Return the result of rmdir(), delete(), or system().
X! */
X {
X #ifdef MACOS
X warn("deletedir not implemented yet", "");
Xdiff -cr zip19/history zip19p1/history
X*** zip19/history Thu Aug 20 20:04:56 1992
X--- zip19p1/history Wed Aug 26 15:31:18 1992
X***************
X*** 908,913 ****
X--- 908,926 ----
X 8. Fixed vms/vms_zip.rnh
X 9. Fixed init_upper() in util.c and os2zip.c (Kai-Uwe)
X
X+ ------------------------ Aug 26 1992 version 1.9p1 ------------------------
X+ This is official patch 1 for zip 1.9, not a beta version.
X+
X+ 1. Simplified makefile entry for convex (Rafal Maszkowski)
X+ 2. Do not use 'const' even for djgcc (Onno van der Linden)
X+ 3. Use gcc in linux makefile entry (Arnt Gulbrandsen)
X+ 4. Fix serious bug in -l option (file truncated).
X+ 5. Fix stack problem for OS/2 IBM-C (Kai-Uwe)
X+ 6. Fix serious bug in zipup.c sometimes causing file truncation to zero bytes
X+ or internal error (Timo Salmi and Robert Tobler)
X+ 7. Do not unlink() directories when running as root (Charles Hannum)
X+ 8. Fix msdos/makefile.bor and msdos/makefile.gcc (Onno van der Linden)
X+
X
X Things to check or to be done (see also BUGS section in zip.1):
X
Xdiff -cr zip19/infozip.who zip19p1/infozip.who
X*** zip19/infozip.who Thu Aug 20 19:46:40 1992
X--- zip19p1/infozip.who Wed Aug 26 15:32:02 1992
X***************
X*** 30,35 ****
X--- 30,36 ----
X Hunter Goatley goathunter@WKUVX1.BITNET Vax VMS
X Arnt Gulbrandsen agulbra@pvv.unit.no Linux
X David Gundlach david@rolf.stat.uga.edu Sun SS1+ SunOS 4.1
X+ Charles Hannum mycroft@ai.mit.edu bug report
X Bob Hardy hardy@lucid.com Power C on MSDOS
X Peter Jones jones@mips1.info.uqam.ca MIPS UMIPS 4.0
X Kjetil W. J{\o}rgensen jorgens@lise.unit.no OSF/1
X***************
X*** 44,51 ****
X Michael D. Lawler mdlawler@bsu-cs.bsu.edu Mt.Xinu BSD 4.3 on VAX
X Johnny Lee johnnyl@microsoft.com Microsoft C 7.0
X David Lemson lemson@ux1.cso.uiuc.edu Sequent Dynix 3.0.17
X! Onno van der Linden vdlinden@fwi.uva.nl SCO Unix 3.2.0
X! BC++ 3.0, djgcc 1.06
X Warner Losh imp@Solbourne.COM packing algorithm help
X John Lundin lundin@urvax.urich.edu VAX VMS
X Igor Mandrichenko mandrichenko@m10.ihep.su VAX VMS
X--- 45,52 ----
X Michael D. Lawler mdlawler@bsu-cs.bsu.edu Mt.Xinu BSD 4.3 on VAX
X Johnny Lee johnnyl@microsoft.com Microsoft C 7.0
X David Lemson lemson@ux1.cso.uiuc.edu Sequent Dynix 3.0.17
X! Onno van der Linden vdlinden@fwi.uva.nl SCO Unix 3.2.0, 386/BSD
X! BC++ 3.0, djgcc 1.08
X Warner Losh imp@Solbourne.COM packing algorithm help
X John Lundin lundin@urvax.urich.edu VAX VMS
X Igor Mandrichenko mandrichenko@m10.ihep.su VAX VMS
X***************
X*** 77,86 ****
X--- 78,90 ----
X Kai Uwe Rommel rommel@informatik.tu-muenchen.de OS/2
X Jon Saxton jrs@panix.com Microsoft C 6.0
X Steve Salisbury stevesa@microsoft.com Microsoft C 6.0
X+ Timo Salmi ts@uwasa.fi bug report
X Martin Schulz martin@indian.cs.unb.ca Atari ST
X Dave Sisson daves@vtcosy.cns.vt.edu AIX 1.1.1 PS/2 & 3090
X Ron Srodawa srodawa@vela.acs.oakland.edu SCO Xenix/386 2.3.3
X Bertil Stenstr|m stenis@heron.qz.se HP-UX 7.0 HP9000/835
X+ Paul Telles paul@pubnet.com SCO Xenix
X+ Robert F Tobler rft@cs.stanford.edu bug report
X Antoine Verheijen antoine@sysmail.ucs.ualberta.ca envargs fix
X Arjan de Vet devet@info.win.tue.nl SunOS 4.1, MSC 5.1
X Rich Wales wales@cs.ucla.edu SunOS 4.0.3 Sun-3/50
Xdiff -cr zip19/install.doc zip19p1/install.doc
X*** zip19/install.doc Thu Aug 20 18:31:04 1992
X--- zip19p1/install.doc Tue Aug 25 11:20:40 1992
X***************
X*** 41,51 ****
X cannot find _memset or _memcpy, try bsdold. If you are using
X System V Unix or SCO Unix, try sysv or sysv_old. Also use sysv
X on a Silicon Graphics (SGI) machine. You can also cross-compile
X! Zip for MSDOS under SCO 386 Unix using "make scodos".
X
X If none of these compiles, links, and functions properly on
X! your Unix system, see the section BUGS below for how to get
X! help.
X
X If the appropriate system was selected, then the executables
X zip, zipnote and zipsplit will be created. You can copy them
X--- 41,52 ----
X cannot find _memset or _memcpy, try bsdold. If you are using
X System V Unix or SCO Unix, try sysv or sysv_old. Also use sysv
X on a Silicon Graphics (SGI) machine. You can also cross-compile
X! Zip for MSDOS under SCO 386 Unix using "make scodos". If you get
X! error messages "constant expected" in deflate.c, add -DDYN_ALLOC
X! to CFLAGS in your makefile entry.
X
X If none of these compiles, links, and functions properly on
X! your Unix system, see the file Readme for how to get help.
X
X If the appropriate system was selected, then the executables
X zip, zipnote and zipsplit will be created. You can copy them
Xdiff -cr zip19/makefile zip19p1/makefile
X*** zip19/makefile Wed Aug 19 18:17:38 1992
X--- zip19p1/makefile Wed Aug 26 15:01:22 1992
X***************
X*** 4,13 ****
X all:
X @echo ''
X @echo 'Make what? You must say what system to make Zip for--e.g.'
X! @echo '"make bsd". Choices: bsd, bsdold, sysv, sysv_old, sysv_386,'
X! @echo 'dnix, linux, sun, sun_gcc, next10, next, hpux, cray, cray3,'
X! @echo '3b1, att6300, zilog, scodos, aux, c120, convex, aix, minix,'
X! @echo 'isc, ultrix, dec_osf1 and xos.'
X @echo 'See the files install.doc and zip.doc for more information.'
X @echo ''
X
X--- 4,13 ----
X all:
X @echo ''
X @echo 'Make what? You must say what system to make Zip for--e.g.'
X! @echo '"make bsd". Choices: 3b1, aix, att6300, aux, bsd, bsdold,'
X! @echo 'convex, cray, cray3, dec_osf1, dnix, hpux, isc, linux,'
X! @echo 'minix, next, next10, scodos, sun, sun_gcc, sysv, sysv_386,'
X! @echo 'sysv_old, ultrix, xenix, xos, zilog.'
X @echo 'See the files install.doc and zip.doc for more information.'
X @echo ''
X
X***************
X*** 120,126 ****
X bsdold:
X $(MAKE) zips CFLAGS="-O -DZMEM"
X
X! # AT&T System V, Rel 3. Also SCO, Xenix, OpenDeskTop, ETA-10P*, SGI.
X sysv_old:
X $(MAKE) zips CFLAGS="-O -DDIRENT"
X
X--- 120,126 ----
X bsdold:
X $(MAKE) zips CFLAGS="-O -DZMEM"
X
X! # AT&T System V, Rel 3. Also SCO Unix, OpenDeskTop, ETA-10P*, SGI.
X sysv_old:
X $(MAKE) zips CFLAGS="-O -DDIRENT"
X
X***************
X*** 132,145 ****
X sysv_386:
X $(MAKE) zips CFLAGS="-O -DSYSV -DTERMIO -DASM" OBJA=match.o
X
X # DNIX 5.x: like System V but optimization is messed up.
X dnix:
X $(MAKE) zips CFLAGS="-DDIRENT"
X
X! # Linux 0.96a with GCC 2.12, dies with <= 2.11c. The problem with
X! # builtin functions still has to be investigated.
X linux:
X! $(MAKE) zips CFLAGS="-O -fno-builtin -DSYSV -DTERMIO -DLINUX"
X
X # Sun OS 4.x: BSD, but use getdents(). If you have gcc, use 'make sun_gcc'
X # instead since the code produced is better.
X--- 132,151 ----
X sysv_386:
X $(MAKE) zips CFLAGS="-O -DSYSV -DTERMIO -DASM" OBJA=match.o
X
X+ # SCO Xenix
X+ xenix:
X+ $(MAKE) zips CFLAGS="-O -DSYSV -DTERMIO" LFLAGS2="-lx -s"
X+
X # DNIX 5.x: like System V but optimization is messed up.
X dnix:
X $(MAKE) zips CFLAGS="-DDIRENT"
X
X! # Linux 0.96a with GCC 2.12, dies with <= 2.11c. builtin functions are
X! # disabled because '#define const' removes const from normal functions
X! # but not builtin ones. And keeping const causes problems on other systems.
X linux:
X! $(MAKE) zips CFLAGS="-O -fno-builtin -DSYSV -DTERMIO -DLINUX" \
X! CC=gcc BIND=gcc
X
X # Sun OS 4.x: BSD, but use getdents(). If you have gcc, use 'make sun_gcc'
X # instead since the code produced is better.
X***************
X*** 197,209 ****
X aux:
X $(MAKE) zips CFLAGS="-O -DTERMIO"
X
X! # Convex C120, OS 9.0, cc v. 4.0, no vectorization.
X! c120:
X! $(MAKE) zips CFLAGS="-O1 -rl -DCONVEX"
X!
X! # Convex C220, OS 9.0
X convex:
X! $(MAKE) zips CFLAGS="-O2 -rl -DCONVEX"
X
X # AIX Version 3.1 for RISC System/6000
X aix:
X--- 203,211 ----
X aux:
X $(MAKE) zips CFLAGS="-O -DTERMIO"
X
X! # Convex C-120, C-210, OS 9.0, cc v. 4.0, no vectorization used.
X convex:
X! $(MAKE) zips CFLAGS="-O"
X
X # AIX Version 3.1 for RISC System/6000
X aix:
Xdiff -cr zip19/revision.h zip19p1/revision.h
X*** zip19/revision.h Thu Aug 20 17:59:20 1992
X--- zip19p1/revision.h Wed Aug 26 14:46:28 1992
X***************
X*** 14,20 ****
X */
X
X #define REVISION 19
X! #define REVDATE "Aug 20th 1992"
X
X /* Copyright notice for binary executables--this notice only applies to
X * those (zip, zipcloak, zipsplit, and zipnote), not to this file
X--- 14,21 ----
X */
X
X #define REVISION 19
X! #define PATCHLEVEL 1
X! #define REVDATE "Aug 26th 1992"
X
X /* Copyright notice for binary executables--this notice only applies to
X * those (zip, zipcloak, zipsplit, and zipnote), not to this file
Xdiff -cr zip19/tailor.h zip19p1/tailor.h
X*** zip19/tailor.h Tue Aug 18 13:14:44 1992
X--- zip19p1/tailor.h Wed Aug 26 14:50:20 1992
X***************
X*** 2,10 ****
X
X /* const's are inconsistently used across ANSI libraries--kill for all
X header files. */
X! #ifndef __GO32__
X! # define const
X! #endif
X
X
X /* Define MSDOS for Turbo C as well as Microsoft C */
X--- 2,8 ----
X
X /* const's are inconsistently used across ANSI libraries--kill for all
X header files. */
X! #define const
X
X
X /* Define MSDOS for Turbo C as well as Microsoft C */
X***************
X*** 53,58 ****
X--- 51,59 ----
X # define OS2
X #endif
X
X+ #ifdef __convexc__
X+ # define CONVEX
X+ #endif /* __convexc__ */
X
X /* Turn off prototypes if requested */
X #if (defined(NOPROTO) && defined(PROTO))
Xdiff -cr zip19/zip.1 zip19p1/zip.1
X*** zip19/zip.1 Thu Aug 20 20:00:14 1992
X--- zip19p1/zip.1 Tue Aug 25 10:19:48 1992
X***************
X*** 550,555 ****
X--- 550,558 ----
X it only displays a warning "name not matched". A better warnign should be
X given.
X .PP
X+ The option -e also forces -o (make zipfile as old as latest entry). This
X+ is used to make brute force attacks on the password harder.
X+ .PP
X Under VMS, not all of the odd file formats are treated properly. Only
X zip files of format stream-LF and fixed length 512 are expected to work
X with zip. Others can be converted using Rahul Dhesi's BILF program.
Xdiff -cr zip19/zip.doc zip19p1/zip.doc
X*** zip19/zip.doc Thu Aug 20 19:48:58 1992
X--- zip19p1/zip.doc Wed Aug 26 14:26:34 1992
X***************
X*** 28,34 ****
X
X zip version 1.9 is compatible with pkzip 1.93a. Note that
X pkunzip 1.10 cannot extract files produced by pkzip 1.93a or
X! zip 1.9b. You must use pkunzip 1.93a or unzip 5.0 to extract
X them.
X
X For a brief help on zip and unzip, run each without specify-
X--- 28,34 ----
X
X zip version 1.9 is compatible with pkzip 1.93a. Note that
X pkunzip 1.10 cannot extract files produced by pkzip 1.93a or
X! zip 1.9. You must use pkunzip 1.93a or unzip 5.0 to extract
X them.
X
X For a brief help on zip and unzip, run each without specify-
X***************
X*** 464,478 ****
X unzip(1), tar(1), compress(1)
X
X BUGS
X! WARNING: zip files produced by this version of zip must not
X! be *updated* by zip 1.0 or pkzip 1.10 or pkzip 1.93a, if
X! they contain encrypted members, or if they have been pro-
X! duced in a pipe or on a non seekable device. The old ver-
X! sions of zip or pkzip would destroy the zip structure. The
X! old versions can list the contents of the zip file but can-
X! not extract it anyway (because of the new compression algo-
X! rithm). If you do not use encryption and use regular disk
X! files, you do not have to care about this problem.
X
X zip 1.9 is compatible with pkzip 1.93a, except when two
X features are used: encryption or zip file created in a pipe
X--- 464,478 ----
X unzip(1), tar(1), compress(1)
X
X BUGS
X! WARNING: zip files produced by zip 1.9 must not be *updated*
X! by zip 1.0 or pkzip 1.10 or pkzip 1.93a, if they contain
X! encrypted members, or if they have been produced in a pipe
X! or on a non seekable device. The old versions of zip or
X! pkzip would destroy the zip structure. The old versions can
X! list the contents of the zip file but cannot extract it any-
X! way (because of the new compression algorithm). If you do
X! not use encryption and use regular disk files, you do not
X! have to care about this problem.
X
X zip 1.9 is compatible with pkzip 1.93a, except when two
X features are used: encryption or zip file created in a pipe
X***************
X*** 482,487 ****
X--- 482,491 ----
X Without -y, when zip must compress a symbolic link to an non
X existing file, it only displays a warning "name not
X matched". A better warnign should be given.
X+
X+ The option -e also forces -o (make zipfile as old as latest
X+ entry). This is used to make brute force attacks on the
X+ password harder.
X
X Under VMS, not all of the odd file formats are treated prop-
X erly. Only zip files of format stream-LF and fixed length
Xdiff -cr zip19/zipfile.c zip19p1/zipfile.c
X*** zip19/zipfile.c Tue Aug 18 11:54:32 1992
X--- zip19p1/zipfile.c Wed Aug 26 14:35:42 1992
X***************
X*** 753,763 ****
X for (z = zfiles; z != NULL; z = z->nxt)
X if (z->mark || z->trash)
X {
X! z->mark = 1;
X! n++;
X! if (verbose)
X! printf("zip diagnostic: trashing file %s\n", z->name);
X! destroy(z->name);
X }
X
X /* Try to delete all paths that lead up to marked names */
X--- 753,767 ----
X for (z = zfiles; z != NULL; z = z->nxt)
X if (z->mark || z->trash)
X {
X! if (z->zname[z->nam - 1] == '/') /* directory */
X! z->mark = z->trash = 0;
X! else {
X! z->mark = 1;
X! n++;
X! if (verbose)
X! printf("zip diagnostic: trashing file %s\n", z->name);
X! destroy(z->name);
X! }
X }
X
X /* Try to delete all paths that lead up to marked names */
X***************
X*** 779,785 ****
X if (*cutpath(s[i]->name) && strcmp(s[i]->name, s[i-1]->name))
X {
X if (verbose)
X! printf("zip diagnostic: trashing directory %s\n", s[i]->name);
X deletedir(s[i]->name);
X k++;
X }
X--- 783,790 ----
X if (*cutpath(s[i]->name) && strcmp(s[i]->name, s[i-1]->name))
X {
X if (verbose)
X! printf("zip diagnostic: trashing directory %s (if empty)\n",
X! s[i]->name);
X deletedir(s[i]->name);
X k++;
X }
Xdiff -cr zip19/zipup.c zip19p1/zipup.c
X*** zip19/zipup.c Tue Aug 18 11:54:32 1992
X--- zip19p1/zipup.c Wed Aug 26 13:51:42 1992
X***************
X*** 170,176 ****
X--- 170,179 ----
X long q = -2L; /* size returned by filetime */
X int r; /* temporary variable */
X ulg s = 0L; /* size of compressed data */
X+ int isdir; /* set for a directory name */
X
X+ isdir = z->name[strlen(z->name)-1] == '/';
X+
X if ((z->tim = filetime(z->name, &a, &q)) == 0 || q < -1L)
X return ZE_OPEN;
X /* q is set to -1 if the input file is a device */
X***************
X*** 201,207 ****
X l = issymlnk(a);
X if (l)
X ifile = fbad;
X! else if (z->name[z->nam - 1] == '/') { /* directory */
X ifile = fbad;
X m = STORE;
X }
X--- 204,210 ----
X l = issymlnk(a);
X if (l)
X ifile = fbad;
X! else if (isdir) { /* directory */
X ifile = fbad;
X m = STORE;
X }
X***************
X*** 300,306 ****
X if ((b = malloc(CBSZ)) == NULL)
X return ZE_MEM;
X
X! if (z->name[z->nam - 1] != '/') /* no read for directories */
X while ((k = l ? rdsymlnk(z->name, b, CBSZ) : zread(ifile, b, CBSZ)) > 0)
X {
X isize += k;
X--- 303,309 ----
X if ((b = malloc(CBSZ)) == NULL)
X return ZE_MEM;
X
X! if (!isdir) /* no read for directories */
X while ((k = l ? rdsymlnk(z->name, b, CBSZ) : zread(ifile, b, CBSZ)) > 0)
X {
X isize += k;
X***************
X*** 405,417 ****
X unsigned len;
X char far *b;
X if (translate_eol) {
X- /* static char last_byte = '\0'; */
X size >>= 1;
X b = buf+size;
X size = len = zread(ifile, b, size);
X if (len == (unsigned)EOF || len == 0) return len;
X do {
X- /* ??? keep cr lf intact */
X if ((*buf++ = *b++) == '\n') *(buf-1) = '\r', *buf++ = '\n', len++;
X } while (--size != 0);
X buf -= len;
X--- 408,418 ----
END_OF_FILE
if test 25094 -ne `wc -c <'patch1.1'`; then
echo shar: \"'patch1.1'\" unpacked with wrong size!
fi
# end of 'patch1.1'
fi
if test -f 'patch1.2.uu' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'patch1.2.uu'\"
else
echo shar: Extracting \"'patch1.2.uu'\" \(4857 characters\)
sed "s/^X//" >'patch1.2.uu' <<'END_OF_FILE'
Xbegin 666 patch1.2
XM9&EF9B M8W(@>FEP,3DO;7-D;W,O;6%K969I;&4N8F]R('II<#$Y<#$O;7-D
XM;W,O;6%K969I;&4N8F]R"BHJ*B!Z:7 Q.2]M<V1O<R]M86ME9FEL92YB;W()
XM5&AU($%U9R R," P-#HQ.3HU-B Q.3DR"BTM+2!Z:7 Q.7 Q+VUS9&]S+VUA
XM:V5F:6QE+F)O<@E7960@075G(#(V(#$U.C(V.C(P(#$Y.3(**BHJ*BHJ*BHJ
XM*BHJ*BHJ"BHJ*B Q,#8L,3$R("HJ*BH*(" ))"A#0RD@+6,@)"A55$E,1DQ!
XM1U,I)"H@9FEL96EO+F,-"B @#0H@('5T:6Q?+F]B:CH)=71I;"YC('II<"YH
XM('II<&5R<BYH('1A:6QO<BYH#0HA( DD*$-#*2 M8R D*%5424Q&3$%'4RDD
XM*B!F:6QE:6\N8PT*(" -"B @8W)Y<'1?+F]B:CH)8W)Y<'0N8R!Z:7 N:"!Z
XM:7!E<G(N:"!T86EL;W(N: T*(" ))"A#0RD@+6,@)"A55$E,1DQ!1U,I)"H@
XM8W)Y<'0N8PT*+2TM(#$P-BPQ,3(@+2TM+0H@( DD*$-#*2 M8R D*%5424Q&
XM3$%'4RDD*B!F:6QE:6\N8PT*(" -"B @=71I;%\N;V)J.@EU=&EL+F,@>FEP
XM+F@@>FEP97)R+F@@=&%I;&]R+F@-"B$@"20H0T,I("UC("0H551)3$9,04=3
XM*20J('5T:6Q?+F,-"B @#0H@(&-R>7!T7RYO8FHZ"6-R>7!T+F,@>FEP+F@@
XM>FEP97)R+F@@=&%I;&]R+F@-"B @"20H0T,I("UC("0H551)3$9,04=3*20J
XM(&-R>7!T+F,-"F1I9F8@+6-R('II<#$Y+VUS9&]S+VUA:V5F:6QE+F=C8R!Z
XM:7 Q.7 Q+VUS9&]S+VUA:V5F:6QE+F=C8PHJ*BH@>FEP,3DO;7-D;W,O;6%K
XM969I;&4N9V-C"51H=2!!=6<@,C @,#0Z,3@Z,C0@,3DY,@HM+2T@>FEP,3EP
XM,2]M<V1O<R]M86ME9FEL92YG8V,)5V5D($%U9R R-B Q-3HS,#HQ." Q.3DR
XM"BHJ*BHJ*BHJ*BHJ*BHJ*@HJ*BH@,2PU("HJ*BH*(" C($UA:V5F:6QE(&9O
XM<B!::7 L(%II<$-L;V%K+"!::7!.;W1E(&%N9"!::7!3<&QI="!F;W(-"B$@
XM(R!D:F=C8R Q+C V#0H@( T*("!#4EE05$\]#0H@($-,3T%+/0T*+2TM(#$L
XM-2 M+2TM"B @(R!-86ME9FEL92!F;W(@6FEP+"!::7!#;&]A:RP@6FEP3F]T
XM92!A;F0@6FEP4W!L:70@9F]R#0HA(",@9&IG8V,@,2XP. T*(" -"B @0U)9
XM4%1//0T*("!#3$]!2ST-"BHJ*BHJ*BHJ*BHJ*BHJ*@HJ*BH@-RPQ,R J*BHJ
XM"B @#0H@(",@("HJ*B!&;W(@96YC<GEP=&EO;B!V97)S:6]N+"!R96UO=F4@
XM=&AE(",@870@=&AE(&9R;VYT(&]F(&YE>'0@,R!L:6YE<R J*BH-"B @(T-2
XM65!43SUC<GEP="YO#0HA("-#3$]!2SUZ:7!C;&]A:RYE>&4-"B @(T-21DQ!
XM1STM1$-265!4#0H@( T*(" C("TM+2TM+2TM+2TM+2T@9&IG8V,@+2TM+2TM
XM+2TM+2TM+0T*+2TM(#<L,3,@+2TM+0H@( T*(" C(" J*BH@1F]R(&5N8W)Y
XM<'1I;VX@=F5R<VEO;BP@<F5M;W9E('1H92 C(&%T('1H92!F<F]N="!O9B!N
XM97AT(#,@;&EN97,@*BHJ#0H@("-#4EE05$\]8W)Y<'0N;PT*(2 C0TQ/04L]
XM>FEP8VQO86L-"B @(T-21DQ!1STM1$-265!4#0H@( T*(" C("TM+2TM+2TM
XM+2TM+2T@9&IG8V,@+2TM+2TM+2TM+2TM+0T**BHJ*BHJ*BHJ*BHJ*BHJ"BHJ
XM*B Q.2PR-2 J*BHJ"B @#0H@(",@=F%R:6%B;&5S#0H@($]"2EH@/2!Z:7 N
XM;R!Z:7!F:6QE+F\@>FEP=7 N;R!F:6QE:6\N;R!U=&EL+F\@9VQO8F%L<RYO
XM("0H0U)94%1/*0T*(2 -"B @3T)*52 ]('II<&9I;&5?+F\@>FEP=7!?+F\@
XM9FEL96EO7RYO('5T:6Q?+F\@9VQO8F%L<RYO#0H@($]"2DX@/2!Z:7!N;W1E
XM+F\@("0H3T)*52D-"B @3T)*0R ]('II<&-L;V%K+F\@)"A/0DI5*2!C<GEP
XM=%\N;PT*+2TM(#$Y+#(U("TM+2T*(" -"B @(R!V87)I86)L97,-"B @3T)*
XM6B ]('II<"YO('II<&9I;&4N;R!Z:7!U<"YO(&9I;&5I;RYO('5T:6PN;R!G
XM;&]B86QS+F\@)"A#4EE05$\I#0HA($]"2DD@/2!D969L871E+F\@=')E97,N
XM;R!B:71S+F\@;6%T8V@N;PT*("!/0DI5(#T@>FEP9FEL95\N;R!Z:7!U<%\N
XM;R!F:6QE:6]?+F\@=71I;%\N;R!G;&]B86QS+F\-"B @3T)*3B ]('II<&YO
XM=&4N;R @)"A/0DI5*0T*("!/0DI#(#T@>FEP8VQO86LN;R D*$]"2E4I(&-R
XM>7!T7RYO#0HJ*BHJ*BHJ*BHJ*BHJ*BH**BHJ(#8S+#8Y("HJ*BH*(" ))"A#
XM0RD@+6,@)"A55$E,1DQ!1U,I("1 (&9I;&5I;RYC#0H@( T*("!U=&EL7RYO
XM.B @("!U=&EL+F,@>FEP+F@@>FEP97)R+F@@=&%I;&]R+F@-"B$@"20H0T,I
XM("UC("0H551)3$9,04=3*2 D0"!F:6QE:6\N8PT*(" -"B @8W)Y<'1?+F\Z
XM(" @("!C<GEP="YC('II<"YH#0H@( DD*$-#*2 M8R D*%5424Q&3$%'4RD@
XM)$ @8W)Y<'0N8PT*+2TM(#8S+#8Y("TM+2T*(" ))"A#0RD@+6,@)"A55$E,
XM1DQ!1U,I("1 (&9I;&5I;RYC#0H@( T*("!U=&EL7RYO.B @("!U=&EL+F,@
XM>FEP+F@@>FEP97)R+F@@=&%I;&]R+F@-"B$@"20H0T,I("UC("0H551)3$9,
XM04=3*2 D0"!U=&EL+F,-"B @#0H@(&-R>7!T7RYO.B @(" @8W)Y<'0N8R!Z
XM:7 N: T*(" ))"A#0RD@+6,@)"A55$E,1DQ!1U,I("1 (&-R>7!T+F,-"BHJ
XM*BHJ*BHJ*BHJ*BHJ*@HJ*BH@.#0L.#D@*BHJ*@H@( ED96P@)$ -"B @#0H@
XM('II<'-P;&ET.B D*$]"2E,I#0HA( DD*$Q$*2 D*$Q$1D%'4RD@)"A/0DI3
XM*2 M;R D0 T*(" )86]U=#)E>&4@)$ -"B @"61E;" D0 T*+2TM(#@T+#@Y
XM("TM+2T*(" )9&5L("1 #0H@( T*("!Z:7!S<&QI=#H@)"A/0DI3*0T*(2 )
XM)"A,1"D@)"A,1$9,04=3*2 D*$]"2E,I("UO("1 #0H@( EA;W5T,F5X92 D
XM0 T*(" )9&5L("1 #0ID:69F("UC<B!Z:7 Q.2]O<S(O;W,R>FEP+F,@>FEP
XM,3EP,2]O<S(O;W,R>FEP+F,**BHJ('II<#$Y+V]S,B]O<S)Z:7 N8PE4:'4@
XM075G(#(P(#(P.C S.C$P(#$Y.3(*+2TM('II<#$Y<#$O;W,R+V]S,GII<"YC
XM"5=E9"!!=6<@,C8@,3,Z,#@Z,S0@,3DY,@HJ*BHJ*BHJ*BHJ*BHJ*BH**BHJ
XM(#4X,2PU.3$@*BHJ*@H@(" @(&-A;&QS('1H870@;6%Y(&9A:6PL(&)U="!N
XM;W0@9F]R(&UA;&QO8R@I(&-A;&QS+"!B96-A=7-E('1H97D@87)E(%9%4ED-
XM"B @(" @=6YL:6ME;'D@=&\@9F%I;"X@268@979E<BP@=V4@:G5S="!L96%V
XM92!S;VUE(&UE;6]R>2!A;&QO8V%T960@+BXN("HO#0H@( T*(2 C:68@9&5F
XM:6YE9"A?7T=.54-?7RD@?'P@9&5F:6YE9"A?7TE"34-?7RD-"B @(V1E9FEN
XM92!A;&QO8R!A;&QO8V$-"B @(V5N9&EF#0H@( T*(2 C:69D968@7U]7051#
XM3TU#7U\-"B @(V1E9FEN92!A;&QO8R!M86QL;V,-"B @(V1E9FEN92!?7T92
XM145?7PT*(" C96YD:68-"BTM+2 U.#$L-3DQ("TM+2T*(" @("!C86QL<R!T
XM:&%T(&UA>2!F86EL+"!B=70@;F]T(&9O<B!M86QL;V,H*2!C86QL<RP@8F5C
XM875S92!T:&5Y(&%R92!615)9#0H@(" @('5N;&EK96QY('1O(&9A:6PN($EF
XM(&5V97(L('=E(&IU<W0@;&5A=F4@<V]M92!M96UO<GD@86QL;V-A=&5D("XN
XM+B J+PT*(" -"B$@(VEF(&1E9FEN960H7U]'3E5#7U\I#0H@("-D969I;F4@
XM86QL;V,@86QL;V-A#0H@("-E;F1I9@T*(" -"B$@(VEF(&1E9FEN960H7U]7
XM051#3TU#7U\I('Q\(&1E9FEN960H7U])0DU#7U\I#0H@("-D969I;F4@86QL
XI;V,@;6%L;&]C#0H@("-D969I;F4@7U]&4D5%7U\-"B @(V5N9&EF#0H@
X
Xend
END_OF_FILE
if test 4857 -ne `wc -c <'patch1.2.uu'`; then
echo shar: \"'patch1.2.uu'\" unpacked with wrong size!
else
echo shar: Uudecoding \"'patch1.2'\" \(3506 characters\)
cat patch1.2.uu | uudecode
if test 3506 -ne `wc -c <'patch1.2'`; then
echo shar: \"'patch1.2'\" uudecoded with wrong size!
else
rm patch1.2.uu
fi
fi
# end of 'patch1.2.uu'
fi
echo shar: End of archive.
exit 0
exit 0 # Just in case...