home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1994 March / Source_Code_CD-ROM_Walnut_Creek_March_1994.iso / compsrcs / misc / volume31 / zip19 / patch01 < prev    next >
Encoding:
Text File  |  1992-09-01  |  33.2 KB  |  854 lines

  1. Newsgroups: comp.sources.misc
  2. From: zip-bugs@cs.ucla.edu (Info-ZIP group)
  3. Subject:  v31i133:  zip19 - Info-ZIP portable Zip, version 1.9, Patch01
  4. Message-ID: <1992Sep2.195252.14041@sparky.imd.sterling.com>
  5. X-Md4-Signature: ac4aa05e5d13e72d7ea305ec4be64c0f
  6. Date: Wed, 2 Sep 1992 19:52:52 GMT
  7. Approved: kent@sparky.imd.sterling.com
  8.  
  9. Submitted-by: zip-bugs@cs.ucla.edu (Info-ZIP group)
  10. Posting-number: Volume 31, Issue 133
  11. Archive-name: zip19/patch01
  12. Patch-To: zip19: Volume 31, Issue 93-103
  13. Environment: UNIX, VMS, OS/2, MS-DOS, MACINTOSH, WIN-NT, LINUX, MINIX, XOS, !AMIGA, ATARI, symlink, SGI, DEC, Cray, Convex, Amdahl, Sun, PC
  14.  
  15. This is Patch01 to zip 1.9.  The patches enclosed fix the main bugs reported 
  16. in zip 1.9:
  17.  
  18. - file truncation to zero bytes for some file names
  19. - file truncation for large files with option -l
  20. - possible removal of non empty directories with option -m when run as root
  21.  
  22. Other minor changes are documented in the file 'history'.  These changes 
  23. constitute zip 1.9 patch level 1.  The complete package is available by 
  24. anonymous ftp on garbo.uwasa.fi:/unix/arcers/zip19p1.zip or zip19p1.tar.Z, 
  25. and should become available soon on the main US archive sites.
  26.  
  27. Patch01 actually consists of two patches.  Both patch files are enclosed in
  28. this shar file. The patches for msdos/makefile.bor, msdos/makefile.gcc and 
  29. os2/os2zip.c have been uuencoded and should automagically be uudecoded when
  30. unshared. [And if they don't, send mail to Kent as this is his doing.]  To
  31. apply Patch01, cd to the zip19 sources directory and unshar the enclosed 
  32. patches.  Then apply the patches. 
  33.  
  34.     patch -p1 < patch1.1
  35.     patch -p1 < patch1.2
  36.  
  37. Please report problems with zip and unzip to zip-bugs@cs.ucla.edu.
  38. Thanks.
  39.  
  40. Jean-loup Gailly
  41. jloup@chorus.fr
  42. --------------
  43. #! /bin/sh
  44. # This is a shell archive.  Remove anything before this line, then feed it
  45. # into a shell via "sh file" or similar.  To overwrite existing files,
  46. # type "sh file -c".
  47. # Contents:  patch1.1 patch1.2.uu
  48. # Wrapped by kent@sparky on Wed Sep  2 14:21:36 1992
  49. PATH=/bin:/usr/bin:/usr/ucb:/usr/local/bin:/usr/lbin ; export PATH
  50. echo If this archive is complete, you will see the following message:
  51. echo '          "shar: End of archive."'
  52. if test -f 'patch1.1' -a "${1}" != "-c" ; then 
  53.   echo shar: Will not clobber existing file \"'patch1.1'\"
  54. else
  55.   echo shar: Extracting \"'patch1.1'\" \(25094 characters\)
  56.   sed "s/^X//" >'patch1.1' <<'END_OF_FILE'
  57. Xdiff -cr zip19/Where zip19p1/Where
  58. X*** zip19/Where    Thu Aug 20 18:55:08 1992
  59. X--- zip19p1/Where    Wed Aug 26 15:13:30 1992
  60. X***************
  61. X*** 1,8 ****
  62. X  __________________________________________________________________________
  63. X  
  64. X!   This is the Info-ZIP file ``Where,'' last updated on 20 August 1992.
  65. X  __________________________________________________________________________
  66. X  
  67. X  
  68. X    SITE OWNERS:  If you're listed in here but the information is not
  69. X    correct (or if you're a big site but aren't listed at all), please
  70. X--- 1,11 ----
  71. X  __________________________________________________________________________
  72. X  
  73. X!   This is the Info-ZIP file ``Where,'' last updated on 26 August 1992.
  74. X  __________________________________________________________________________
  75. X  
  76. X+   Note that some ftp sites may not yet have the latest versions of
  77. X+   zip and unzip when you read this. The latest versions are always on
  78. X+   the comp.sources.misc archives.
  79. X  
  80. X    SITE OWNERS:  If you're listed in here but the information is not
  81. X    correct (or if you're a big site but aren't listed at all), please
  82. X***************
  83. X*** 13,25 ****
  84. X  utilities (on some ftp sites, the .zip files may have a .zoo equivalent
  85. X  in zoo 2.10 format):
  86. X  
  87. X!     zip19.zip    Zip 1.9 (includes zipnote and zipsplit)
  88. X!     zip19.tar.Z    ditto, compress'd tar format
  89. X  
  90. X      unzip50.zip    UnZip 5.0 (includes zipinfo and funzip)
  91. X      unzip50.tar.Z    ditto, compress'd tar format
  92. X  
  93. X!     wunz12sr.zip    WizUnZip 1.2 support files for Windows 3.1, UnZip 5.0
  94. X  
  95. X      zcrypt19.zip    encryption/decryption support (includes zipcloak)
  96. X  
  97. X--- 16,28 ----
  98. X  utilities (on some ftp sites, the .zip files may have a .zoo equivalent
  99. X  in zoo 2.10 format):
  100. X  
  101. X!     zip19p1.zip    Zip 1.9 (includes zipnote and zipsplit), patch level 1
  102. X!     zip19p1.tar.Z    ditto, compress'd tar format
  103. X  
  104. X      unzip50.zip    UnZip 5.0 (includes zipinfo and funzip)
  105. X      unzip50.tar.Z    ditto, compress'd tar format
  106. X  
  107. X!     wunz13sr.zip    WizUnZip 1.3 support files for Windows 3.1, UnZip 5.0
  108. X  
  109. X      zcrypt19.zip    encryption/decryption support (includes zipcloak)
  110. X  
  111. X***************
  112. X*** 27,33 ****
  113. X  
  114. X      UnzpHist.zip    changes history of UnZip, back to 2.0
  115. X  
  116. X!     zip19x.zip      MSDOS executables and docs for zip, zipnote, zipsplit
  117. X      unzip50.exe     MSDOS executable for unzip
  118. X  
  119. X      zip19_16.zip    OS/2 1.x 16-bit executables and docs
  120. X--- 30,36 ----
  121. X  
  122. X      UnzpHist.zip    changes history of UnZip, back to 2.0
  123. X  
  124. X!     zip19p1x.zip    MSDOS executables and docs for zip, zipnote, zipsplit
  125. X      unzip50.exe     MSDOS executable for unzip
  126. X  
  127. X      zip19_16.zip    OS/2 1.x 16-bit executables and docs
  128. X***************
  129. X*** 48,55 ****
  130. X  
  131. X  ftp sites for the US-exportable sources and executables.  Look for
  132. X  the file names given above in the following directories.  Some sites
  133. X! like to use slightly different names, such as zip-1.9.tar-z instead
  134. X! of zip19.tar.Z.
  135. X  
  136. X      wuarchive.wustl.edu:/packages/compression/...
  137. X      wuarchive.wustl.edu:/mirrors/misc/unix/...
  138. X--- 51,58 ----
  139. X  
  140. X  ftp sites for the US-exportable sources and executables.  Look for
  141. X  the file names given above in the following directories.  Some sites
  142. X! like to use slightly different names, such as zip-1.9p1.tar-z instead
  143. X! of zip19p1.tar.Z.
  144. X  
  145. X      wuarchive.wustl.edu:/packages/compression/...
  146. X      wuarchive.wustl.edu:/mirrors/misc/unix/...
  147. Xdiff -cr zip19/deflate.c zip19p1/deflate.c
  148. X*** zip19/deflate.c    Tue Aug 18 11:54:28 1992
  149. X--- zip19p1/deflate.c    Tue Aug 25 10:49:40 1992
  150. X***************
  151. X*** 459,465 ****
  152. X   * Fill the window when the lookahead becomes insufficient.
  153. X   * Updates strstart and lookahead, and sets eofile if end of input file.
  154. X   * IN assertion: lookahead < MIN_LOOKAHEAD && strstart + lookahead > 0
  155. X!  * OUT assertion: at least one byte has been read, or eofile is set.
  156. X   */
  157. X  local void fill_window()
  158. X  {
  159. X--- 459,467 ----
  160. X   * Fill the window when the lookahead becomes insufficient.
  161. X   * Updates strstart and lookahead, and sets eofile if end of input file.
  162. X   * IN assertion: lookahead < MIN_LOOKAHEAD && strstart + lookahead > 0
  163. X!  * OUT assertions: at least one byte has been read, or eofile is set;
  164. X!  *    file reads are performed for at least two bytes (required for the
  165. X!  *    translate_eol option).
  166. X   */
  167. X  local void fill_window()
  168. X  {
  169. X***************
  170. X*** 470,476 ****
  171. X      /* If the window is full, move the upper half to the lower one to make
  172. X       * room in the upper half.
  173. X       */
  174. X!     if (more == 0) {
  175. X          /* By the IN assertion, the window is not empty so we can't confuse
  176. X           * more == 0 with more == 64K on a 16 bit machine.
  177. X           */
  178. X--- 472,483 ----
  179. X      /* If the window is full, move the upper half to the lower one to make
  180. X       * room in the upper half.
  181. X       */
  182. X!     if (more == (unsigned)EOF) {
  183. X!         /* Very unlikely, but possible on 16 bit machine if strstart == 0
  184. X!          * and lookahead == 1 (input done one byte at time)
  185. X!          */
  186. X!         more--;
  187. X!     } else if (more <= 1) {
  188. X          /* By the IN assertion, the window is not empty so we can't confuse
  189. X           * more == 0 with more == 64K on a 16 bit machine.
  190. X           */
  191. X***************
  192. X*** 477,486 ****
  193. X          memcpy((char*)window, (char*)window+WSIZE, (unsigned)WSIZE);
  194. X          match_start -= WSIZE;
  195. X          strstart    -= WSIZE;
  196. X!         /* strstart - WSIZE = WSIZE - lookahead > WSIZE - MIN_LOOKAHEAD
  197. X!          * so we now have strstart > MAX_DIST:
  198. X           */
  199. X!         Assert (strstart > MAX_DIST, "window slide too early");
  200. X          block_start -= (long) WSIZE;
  201. X  
  202. X          for (n = 0; n < HASH_SIZE; n++) {
  203. X--- 484,493 ----
  204. X          memcpy((char*)window, (char*)window+WSIZE, (unsigned)WSIZE);
  205. X          match_start -= WSIZE;
  206. X          strstart    -= WSIZE;
  207. X!         /* strstart - WSIZE >= WSIZE - 1 - lookahead >= WSIZE - MIN_LOOKAHEAD
  208. X!          * so we now have strstart >= MAX_DIST:
  209. X           */
  210. X!         Assert (strstart >= MAX_DIST, "window slide too early");
  211. X          block_start -= (long) WSIZE;
  212. X  
  213. X          for (n = 0; n < HASH_SIZE; n++) {
  214. X***************
  215. X*** 494,508 ****
  216. X               * its value will never be used.
  217. X               */
  218. X          }
  219. X!         more = WSIZE;
  220. X          if (verbose) putc('.', stderr);
  221. X- 
  222. X-     } else if (more == (unsigned)EOF) {
  223. X-         /* Very unlikely, but possible on 16 bit machine if strstart == 0
  224. X-          * and lookahead == 1 (input done one byte at time)
  225. X-          */
  226. X-         more--;
  227. X      }
  228. X      n = read_buf((char*)window+strstart+lookahead, more);
  229. X      if (n == 0 || n == (unsigned)EOF) {
  230. X          eofile = 1;
  231. X--- 501,510 ----
  232. X               * its value will never be used.
  233. X               */
  234. X          }
  235. X!         more += WSIZE;
  236. X          if (verbose) putc('.', stderr);
  237. X      }
  238. X+     /* At this point, more >= 2 */
  239. X      n = read_buf((char*)window+strstart+lookahead, more);
  240. X      if (n == 0 || n == (unsigned)EOF) {
  241. X          eofile = 1;
  242. Xdiff -cr zip19/fileio.c zip19p1/fileio.c
  243. X*** zip19/fileio.c    Tue Aug 18 12:34:34 1992
  244. X--- zip19p1/fileio.c    Wed Aug 26 11:53:38 1992
  245. X***************
  246. X*** 1544,1551 ****
  247. X  #ifdef S_IFLNK
  248. X               linkput ? lstat(name, &s) :
  249. X  #endif
  250. X!              SSTAT(name, &s)) != 0 /* || (s.st_mode & S_IFDIR) != 0 */ )
  251. X!              /* Accept about any file kind except directories */
  252. X      return 0;
  253. X  
  254. X    if (a != NULL)
  255. X--- 1544,1553 ----
  256. X  #ifdef S_IFLNK
  257. X               linkput ? lstat(name, &s) :
  258. X  #endif
  259. X!              SSTAT(name, &s)) != 0)
  260. X!              /* Accept about any file kind including directories
  261. X!               * (stored with trailing / with -r option)
  262. X!               */
  263. X      return 0;
  264. X  
  265. X    if (a != NULL)
  266. X***************
  267. X*** 1587,1594 ****
  268. X  
  269. X  int deletedir(d)
  270. X  char *d;                /* directory to delete */
  271. X! /* Delete the (empty) directory *d.  Return the result of rmdir(), delete(),
  272. X!    or system(). */
  273. X  {
  274. X  #ifdef MACOS
  275. X    warn("deletedir not implemented yet", "");
  276. X--- 1589,1597 ----
  277. X  
  278. X  int deletedir(d)
  279. X  char *d;                /* directory to delete */
  280. X! /* Delete the directory *d if it is empty, do nothing otherwise.
  281. X!    Return the result of rmdir(), delete(), or system().
  282. X!  */
  283. X  {
  284. X  #ifdef MACOS
  285. X    warn("deletedir not implemented yet", "");
  286. Xdiff -cr zip19/history zip19p1/history
  287. X*** zip19/history    Thu Aug 20 20:04:56 1992
  288. X--- zip19p1/history    Wed Aug 26 15:31:18 1992
  289. X***************
  290. X*** 908,913 ****
  291. X--- 908,926 ----
  292. X  8.  Fixed vms/vms_zip.rnh
  293. X  9.  Fixed init_upper() in util.c and os2zip.c (Kai-Uwe)
  294. X  
  295. X+ ------------------------ Aug 26  1992   version 1.9p1 ------------------------
  296. X+ This is official patch 1 for zip 1.9, not a beta version.
  297. X+ 
  298. X+ 1.  Simplified makefile entry for convex (Rafal Maszkowski)
  299. X+ 2.  Do not use 'const' even for djgcc (Onno van der Linden)
  300. X+ 3.  Use gcc in linux makefile entry (Arnt Gulbrandsen)
  301. X+ 4.  Fix serious bug in -l option (file truncated).
  302. X+ 5.  Fix stack problem for OS/2 IBM-C (Kai-Uwe)
  303. X+ 6.  Fix serious bug in zipup.c sometimes causing file truncation to zero bytes
  304. X+     or internal error (Timo Salmi and Robert Tobler)
  305. X+ 7.  Do not unlink() directories when running as root (Charles Hannum)
  306. X+ 8.  Fix msdos/makefile.bor and msdos/makefile.gcc (Onno van der Linden)
  307. X+ 
  308. X  
  309. X  Things to check or to be done (see also BUGS section in zip.1):
  310. X  
  311. Xdiff -cr zip19/infozip.who zip19p1/infozip.who
  312. X*** zip19/infozip.who    Thu Aug 20 19:46:40 1992
  313. X--- zip19p1/infozip.who    Wed Aug 26 15:32:02 1992
  314. X***************
  315. X*** 30,35 ****
  316. X--- 30,36 ----
  317. X  Hunter Goatley          goathunter@WKUVX1.BITNET        Vax VMS
  318. X  Arnt Gulbrandsen        agulbra@pvv.unit.no             Linux
  319. X  David Gundlach          david@rolf.stat.uga.edu         Sun SS1+ SunOS 4.1
  320. X+ Charles Hannum          mycroft@ai.mit.edu              bug report
  321. X  Bob Hardy               hardy@lucid.com                 Power C on MSDOS
  322. X  Peter Jones             jones@mips1.info.uqam.ca        MIPS UMIPS 4.0
  323. X  Kjetil W. J{\o}rgensen  jorgens@lise.unit.no            OSF/1
  324. X***************
  325. X*** 44,51 ****
  326. X  Michael D. Lawler       mdlawler@bsu-cs.bsu.edu         Mt.Xinu BSD 4.3 on VAX
  327. X  Johnny Lee              johnnyl@microsoft.com           Microsoft C 7.0
  328. X  David Lemson            lemson@ux1.cso.uiuc.edu         Sequent Dynix 3.0.17
  329. X! Onno van der Linden     vdlinden@fwi.uva.nl             SCO Unix 3.2.0
  330. X!                                                         BC++ 3.0, djgcc 1.06
  331. X  Warner Losh             imp@Solbourne.COM               packing algorithm help
  332. X  John Lundin             lundin@urvax.urich.edu          VAX VMS
  333. X  Igor Mandrichenko       mandrichenko@m10.ihep.su        VAX VMS
  334. X--- 45,52 ----
  335. X  Michael D. Lawler       mdlawler@bsu-cs.bsu.edu         Mt.Xinu BSD 4.3 on VAX
  336. X  Johnny Lee              johnnyl@microsoft.com           Microsoft C 7.0
  337. X  David Lemson            lemson@ux1.cso.uiuc.edu         Sequent Dynix 3.0.17
  338. X! Onno van der Linden     vdlinden@fwi.uva.nl             SCO Unix 3.2.0, 386/BSD
  339. X!                                                         BC++ 3.0, djgcc 1.08
  340. X  Warner Losh             imp@Solbourne.COM               packing algorithm help
  341. X  John Lundin             lundin@urvax.urich.edu          VAX VMS
  342. X  Igor Mandrichenko       mandrichenko@m10.ihep.su        VAX VMS
  343. X***************
  344. X*** 77,86 ****
  345. X--- 78,90 ----
  346. X  Kai Uwe Rommel          rommel@informatik.tu-muenchen.de        OS/2
  347. X  Jon Saxton              jrs@panix.com                   Microsoft C 6.0
  348. X  Steve Salisbury         stevesa@microsoft.com           Microsoft C 6.0
  349. X+ Timo Salmi              ts@uwasa.fi                     bug report
  350. X  Martin Schulz           martin@indian.cs.unb.ca         Atari ST
  351. X  Dave Sisson             daves@vtcosy.cns.vt.edu         AIX 1.1.1 PS/2 & 3090
  352. X  Ron Srodawa             srodawa@vela.acs.oakland.edu    SCO Xenix/386 2.3.3
  353. X  Bertil Stenstr|m        stenis@heron.qz.se              HP-UX 7.0 HP9000/835
  354. X+ Paul Telles             paul@pubnet.com                 SCO Xenix
  355. X+ Robert F Tobler         rft@cs.stanford.edu             bug report
  356. X  Antoine Verheijen    antoine@sysmail.ucs.ualberta.ca envargs fix
  357. X  Arjan de Vet            devet@info.win.tue.nl           SunOS 4.1, MSC 5.1
  358. X  Rich Wales              wales@cs.ucla.edu               SunOS 4.0.3 Sun-3/50
  359. Xdiff -cr zip19/install.doc zip19p1/install.doc
  360. X*** zip19/install.doc    Thu Aug 20 18:31:04 1992
  361. X--- zip19p1/install.doc    Tue Aug 25 11:20:40 1992
  362. X***************
  363. X*** 41,51 ****
  364. X       cannot find _memset or _memcpy, try bsdold.  If you are using
  365. X       System V Unix or SCO Unix, try sysv or sysv_old.  Also use sysv
  366. X       on a Silicon Graphics (SGI) machine.  You can also cross-compile
  367. X!      Zip for MSDOS under SCO 386 Unix using "make scodos".
  368. X  
  369. X       If none of these compiles, links, and functions properly on
  370. X!      your Unix system, see the section BUGS below for how to get
  371. X!      help.
  372. X  
  373. X       If the appropriate system was selected, then the executables
  374. X       zip, zipnote and zipsplit will be created.  You can copy them
  375. X--- 41,52 ----
  376. X       cannot find _memset or _memcpy, try bsdold.  If you are using
  377. X       System V Unix or SCO Unix, try sysv or sysv_old.  Also use sysv
  378. X       on a Silicon Graphics (SGI) machine.  You can also cross-compile
  379. X!      Zip for MSDOS under SCO 386 Unix using "make scodos". If you get
  380. X!      error messages "constant expected" in deflate.c, add -DDYN_ALLOC
  381. X!      to CFLAGS in your makefile entry.
  382. X  
  383. X       If none of these compiles, links, and functions properly on
  384. X!      your Unix system, see the file Readme for how to get help.
  385. X  
  386. X       If the appropriate system was selected, then the executables
  387. X       zip, zipnote and zipsplit will be created.  You can copy them
  388. Xdiff -cr zip19/makefile zip19p1/makefile
  389. X*** zip19/makefile    Wed Aug 19 18:17:38 1992
  390. X--- zip19p1/makefile    Wed Aug 26 15:01:22 1992
  391. X***************
  392. X*** 4,13 ****
  393. X  all:
  394. X      @echo ''
  395. X      @echo 'Make what?  You must say what system to make Zip for--e.g.'
  396. X!     @echo '"make bsd".  Choices: bsd, bsdold, sysv, sysv_old, sysv_386,'
  397. X!     @echo 'dnix, linux, sun, sun_gcc, next10, next, hpux, cray, cray3,'
  398. X!     @echo '3b1, att6300, zilog, scodos, aux, c120, convex, aix, minix,'
  399. X!     @echo 'isc, ultrix, dec_osf1 and xos.'
  400. X      @echo 'See the files install.doc and zip.doc for more information.'
  401. X      @echo ''
  402. X  
  403. X--- 4,13 ----
  404. X  all:
  405. X      @echo ''
  406. X      @echo 'Make what?  You must say what system to make Zip for--e.g.'
  407. X!     @echo '"make bsd".  Choices: 3b1, aix, att6300, aux, bsd, bsdold,'
  408. X!     @echo 'convex, cray, cray3, dec_osf1, dnix, hpux, isc, linux,'
  409. X!     @echo 'minix, next, next10, scodos, sun, sun_gcc, sysv, sysv_386,'
  410. X!     @echo 'sysv_old, ultrix, xenix, xos, zilog.'
  411. X      @echo 'See the files install.doc and zip.doc for more information.'
  412. X      @echo ''
  413. X  
  414. X***************
  415. X*** 120,126 ****
  416. X  bsdold:
  417. X      $(MAKE) zips CFLAGS="-O -DZMEM"
  418. X  
  419. X! # AT&T System V, Rel 3.  Also SCO, Xenix, OpenDeskTop, ETA-10P*, SGI.
  420. X  sysv_old:
  421. X      $(MAKE) zips CFLAGS="-O -DDIRENT"
  422. X  
  423. X--- 120,126 ----
  424. X  bsdold:
  425. X      $(MAKE) zips CFLAGS="-O -DZMEM"
  426. X  
  427. X! # AT&T System V, Rel 3.  Also SCO Unix, OpenDeskTop, ETA-10P*, SGI.
  428. X  sysv_old:
  429. X      $(MAKE) zips CFLAGS="-O -DDIRENT"
  430. X  
  431. X***************
  432. X*** 132,145 ****
  433. X  sysv_386:
  434. X      $(MAKE) zips CFLAGS="-O -DSYSV -DTERMIO -DASM" OBJA=match.o
  435. X  
  436. X  # DNIX 5.x: like System V but optimization is messed up.
  437. X  dnix:
  438. X      $(MAKE) zips CFLAGS="-DDIRENT"
  439. X  
  440. X! # Linux 0.96a with GCC 2.12, dies with <= 2.11c. The problem with
  441. X! # builtin functions still has to be investigated.
  442. X  linux:
  443. X!     $(MAKE) zips CFLAGS="-O -fno-builtin -DSYSV -DTERMIO -DLINUX"
  444. X  
  445. X  # Sun OS 4.x: BSD, but use getdents(). If you have gcc, use 'make sun_gcc'
  446. X  # instead since the code produced is better.
  447. X--- 132,151 ----
  448. X  sysv_386:
  449. X      $(MAKE) zips CFLAGS="-O -DSYSV -DTERMIO -DASM" OBJA=match.o
  450. X  
  451. X+ # SCO Xenix
  452. X+ xenix:
  453. X+     $(MAKE) zips CFLAGS="-O -DSYSV -DTERMIO" LFLAGS2="-lx -s"
  454. X+ 
  455. X  # DNIX 5.x: like System V but optimization is messed up.
  456. X  dnix:
  457. X      $(MAKE) zips CFLAGS="-DDIRENT"
  458. X  
  459. X! # Linux 0.96a with GCC 2.12, dies with <= 2.11c. builtin functions are
  460. X! # disabled because '#define const' removes const from normal functions
  461. X! # but not builtin ones. And keeping const causes problems on other systems.
  462. X  linux:
  463. X!     $(MAKE) zips CFLAGS="-O -fno-builtin -DSYSV -DTERMIO -DLINUX" \
  464. X!       CC=gcc BIND=gcc
  465. X  
  466. X  # Sun OS 4.x: BSD, but use getdents(). If you have gcc, use 'make sun_gcc'
  467. X  # instead since the code produced is better.
  468. X***************
  469. X*** 197,209 ****
  470. X  aux:
  471. X      $(MAKE) zips CFLAGS="-O -DTERMIO"
  472. X  
  473. X! # Convex C120, OS 9.0, cc v. 4.0, no vectorization.
  474. X! c120:
  475. X!     $(MAKE) zips CFLAGS="-O1 -rl -DCONVEX"
  476. X! 
  477. X! # Convex C220, OS 9.0
  478. X  convex:
  479. X!     $(MAKE) zips CFLAGS="-O2 -rl -DCONVEX"
  480. X  
  481. X  # AIX Version 3.1 for RISC System/6000 
  482. X  aix:
  483. X--- 203,211 ----
  484. X  aux:
  485. X      $(MAKE) zips CFLAGS="-O -DTERMIO"
  486. X  
  487. X! # Convex C-120, C-210, OS 9.0, cc v. 4.0, no vectorization used.
  488. X  convex:
  489. X!     $(MAKE) zips CFLAGS="-O"
  490. X  
  491. X  # AIX Version 3.1 for RISC System/6000 
  492. X  aix:
  493. Xdiff -cr zip19/revision.h zip19p1/revision.h
  494. X*** zip19/revision.h    Thu Aug 20 17:59:20 1992
  495. X--- zip19p1/revision.h    Wed Aug 26 14:46:28 1992
  496. X***************
  497. X*** 14,20 ****
  498. X   */
  499. X  
  500. X  #define REVISION 19
  501. X! #define REVDATE "Aug 20th 1992"
  502. X  
  503. X  /* Copyright notice for binary executables--this notice only applies to
  504. X   * those (zip, zipcloak, zipsplit, and zipnote), not to this file
  505. X--- 14,21 ----
  506. X   */
  507. X  
  508. X  #define REVISION 19
  509. X! #define PATCHLEVEL 1
  510. X! #define REVDATE "Aug 26th 1992"
  511. X  
  512. X  /* Copyright notice for binary executables--this notice only applies to
  513. X   * those (zip, zipcloak, zipsplit, and zipnote), not to this file
  514. Xdiff -cr zip19/tailor.h zip19p1/tailor.h
  515. X*** zip19/tailor.h    Tue Aug 18 13:14:44 1992
  516. X--- zip19p1/tailor.h    Wed Aug 26 14:50:20 1992
  517. X***************
  518. X*** 2,10 ****
  519. X  
  520. X  /* const's are inconsistently used across ANSI libraries--kill for all
  521. X     header files. */
  522. X! #ifndef __GO32__
  523. X! #  define const
  524. X! #endif
  525. X  
  526. X  
  527. X  /* Define MSDOS for Turbo C as well as Microsoft C */
  528. X--- 2,8 ----
  529. X  
  530. X  /* const's are inconsistently used across ANSI libraries--kill for all
  531. X     header files. */
  532. X! #define const
  533. X  
  534. X  
  535. X  /* Define MSDOS for Turbo C as well as Microsoft C */
  536. X***************
  537. X*** 53,58 ****
  538. X--- 51,59 ----
  539. X  #  define OS2
  540. X  #endif
  541. X  
  542. X+ #ifdef __convexc__
  543. X+ #    define CONVEX
  544. X+ #endif /* __convexc__ */
  545. X  
  546. X  /* Turn off prototypes if requested */
  547. X  #if (defined(NOPROTO) && defined(PROTO))
  548. Xdiff -cr zip19/zip.1 zip19p1/zip.1
  549. X*** zip19/zip.1    Thu Aug 20 20:00:14 1992
  550. X--- zip19p1/zip.1    Tue Aug 25 10:19:48 1992
  551. X***************
  552. X*** 550,555 ****
  553. X--- 550,558 ----
  554. X  it only displays a warning "name not matched". A better warnign should be
  555. X  given.
  556. X  .PP
  557. X+ The option -e also forces -o (make zipfile as old as latest entry). This
  558. X+ is used to make brute force attacks on the password harder.
  559. X+ .PP
  560. X  Under VMS, not all of the odd file formats are treated properly.  Only
  561. X  zip files of format stream-LF and fixed length 512 are expected to work
  562. X  with zip.  Others can be converted using Rahul Dhesi's BILF program.
  563. Xdiff -cr zip19/zip.doc zip19p1/zip.doc
  564. X*** zip19/zip.doc    Thu Aug 20 19:48:58 1992
  565. X--- zip19p1/zip.doc    Wed Aug 26 14:26:34 1992
  566. X***************
  567. X*** 28,34 ****
  568. X  
  569. X       zip version 1.9 is compatible with pkzip 1.93a.   Note  that
  570. X       pkunzip 1.10 cannot extract files produced by pkzip 1.93a or
  571. X!      zip 1.9b. You must use pkunzip 1.93a or unzip 5.0 to extract
  572. X       them.
  573. X  
  574. X       For a brief help on zip and unzip, run each without specify-
  575. X--- 28,34 ----
  576. X  
  577. X       zip version 1.9 is compatible with pkzip 1.93a.   Note  that
  578. X       pkunzip 1.10 cannot extract files produced by pkzip 1.93a or
  579. X!      zip 1.9. You must use pkunzip 1.93a or unzip 5.0 to  extract
  580. X       them.
  581. X  
  582. X       For a brief help on zip and unzip, run each without specify-
  583. X***************
  584. X*** 464,478 ****
  585. X       unzip(1), tar(1), compress(1)
  586. X  
  587. X  BUGS
  588. X!      WARNING: zip files produced by this version of zip must  not
  589. X!      be  *updated*  by  zip  1.0 or pkzip 1.10 or pkzip 1.93a, if
  590. X!      they contain encrypted members, or if they  have  been  pro-
  591. X!      duced  in  a  pipe or on a non seekable device. The old ver-
  592. X!      sions of zip or pkzip would destroy the zip  structure.  The
  593. X!      old  versions can list the contents of the zip file but can-
  594. X!      not extract it anyway (because of the new compression  algo-
  595. X!      rithm).   If  you do not use encryption and use regular disk
  596. X!      files, you do not have to care about this problem.
  597. X  
  598. X       zip 1.9 is compatible with  pkzip  1.93a,  except  when  two
  599. X       features  are used: encryption or zip file created in a pipe
  600. X--- 464,478 ----
  601. X       unzip(1), tar(1), compress(1)
  602. X  
  603. X  BUGS
  604. X!      WARNING: zip files produced by zip 1.9 must not be *updated*
  605. X!      by  zip  1.0  or  pkzip 1.10 or pkzip 1.93a, if they contain
  606. X!      encrypted members, or if they have been produced in  a  pipe
  607. X!      or  on  a  non  seekable  device. The old versions of zip or
  608. X!      pkzip would destroy the zip structure. The old versions  can
  609. X!      list the contents of the zip file but cannot extract it any-
  610. X!      way (because of the new compression algorithm).  If  you  do
  611. X!      not  use  encryption  and use regular disk files, you do not
  612. X!      have to care about this problem.
  613. X  
  614. X       zip 1.9 is compatible with  pkzip  1.93a,  except  when  two
  615. X       features  are used: encryption or zip file created in a pipe
  616. X***************
  617. X*** 482,487 ****
  618. X--- 482,491 ----
  619. X       Without -y, when zip must compress a symbolic link to an non
  620. X       existing   file,  it  only  displays  a  warning  "name  not
  621. X       matched". A better warnign should be given.
  622. X+ 
  623. X+      The option -e also forces -o (make zipfile as old as  latest
  624. X+      entry).  This  is  used  to  make brute force attacks on the
  625. X+      password harder.
  626. X  
  627. X       Under VMS, not all of the odd file formats are treated prop-
  628. X       erly.   Only  zip files of format stream-LF and fixed length
  629. Xdiff -cr zip19/zipfile.c zip19p1/zipfile.c
  630. X*** zip19/zipfile.c    Tue Aug 18 11:54:32 1992
  631. X--- zip19p1/zipfile.c    Wed Aug 26 14:35:42 1992
  632. X***************
  633. X*** 753,763 ****
  634. X    for (z = zfiles; z != NULL; z = z->nxt)
  635. X      if (z->mark || z->trash)
  636. X      {
  637. X!       z->mark = 1;
  638. X!       n++;
  639. X!       if (verbose)
  640. X!         printf("zip diagnostic: trashing file %s\n", z->name);
  641. X!       destroy(z->name);
  642. X      }
  643. X  
  644. X    /* Try to delete all paths that lead up to marked names */
  645. X--- 753,767 ----
  646. X    for (z = zfiles; z != NULL; z = z->nxt)
  647. X      if (z->mark || z->trash)
  648. X      {
  649. X!       if (z->zname[z->nam - 1] == '/') /* directory */
  650. X!         z->mark = z->trash = 0;
  651. X!       else {
  652. X!         z->mark = 1;
  653. X!         n++;
  654. X!         if (verbose)
  655. X!           printf("zip diagnostic: trashing file %s\n", z->name);
  656. X!         destroy(z->name);
  657. X!       }
  658. X      }
  659. X  
  660. X    /* Try to delete all paths that lead up to marked names */
  661. X***************
  662. X*** 779,785 ****
  663. X          if (*cutpath(s[i]->name) && strcmp(s[i]->name, s[i-1]->name))
  664. X          {
  665. X            if (verbose)
  666. X!             printf("zip diagnostic: trashing directory %s\n", s[i]->name);
  667. X            deletedir(s[i]->name);
  668. X            k++;
  669. X          }
  670. X--- 783,790 ----
  671. X          if (*cutpath(s[i]->name) && strcmp(s[i]->name, s[i-1]->name))
  672. X          {
  673. X            if (verbose)
  674. X!             printf("zip diagnostic: trashing directory %s (if empty)\n",
  675. X!                    s[i]->name);
  676. X            deletedir(s[i]->name);
  677. X            k++;
  678. X          }
  679. Xdiff -cr zip19/zipup.c zip19p1/zipup.c
  680. X*** zip19/zipup.c    Tue Aug 18 11:54:32 1992
  681. X--- zip19p1/zipup.c    Wed Aug 26 13:51:42 1992
  682. X***************
  683. X*** 170,176 ****
  684. X--- 170,179 ----
  685. X    long q = -2L;         /* size returned by filetime */
  686. X    int r;                /* temporary variable */
  687. X    ulg s = 0L;           /* size of compressed data */
  688. X+   int isdir;            /* set for a directory name */
  689. X  
  690. X+   isdir = z->name[strlen(z->name)-1] == '/';
  691. X+ 
  692. X    if ((z->tim = filetime(z->name, &a, &q)) == 0 || q < -1L)
  693. X      return ZE_OPEN;
  694. X    /* q is set to -1 if the input file is a device */
  695. X***************
  696. X*** 201,207 ****
  697. X      l = issymlnk(a);
  698. X      if (l)
  699. X        ifile = fbad;
  700. X!     else if (z->name[z->nam - 1] == '/') { /* directory */
  701. X        ifile = fbad;
  702. X        m = STORE;
  703. X      }
  704. X--- 204,210 ----
  705. X      l = issymlnk(a);
  706. X      if (l)
  707. X        ifile = fbad;
  708. X!     else if (isdir) { /* directory */
  709. X        ifile = fbad;
  710. X        m = STORE;
  711. X      }
  712. X***************
  713. X*** 300,306 ****
  714. X      if ((b = malloc(CBSZ)) == NULL)
  715. X         return ZE_MEM;
  716. X  
  717. X!     if (z->name[z->nam - 1] != '/') /* no read for directories */
  718. X      while ((k = l ? rdsymlnk(z->name, b, CBSZ) : zread(ifile, b, CBSZ)) > 0)
  719. X      {
  720. X        isize += k;
  721. X--- 303,309 ----
  722. X      if ((b = malloc(CBSZ)) == NULL)
  723. X         return ZE_MEM;
  724. X  
  725. X!     if (!isdir) /* no read for directories */
  726. X      while ((k = l ? rdsymlnk(z->name, b, CBSZ) : zread(ifile, b, CBSZ)) > 0)
  727. X      {
  728. X        isize += k;
  729. X***************
  730. X*** 405,417 ****
  731. X    unsigned len;
  732. X    char far *b;
  733. X    if (translate_eol) {
  734. X-     /* static char last_byte = '\0'; */
  735. X      size >>= 1;
  736. X      b = buf+size;
  737. X      size = len = zread(ifile, b, size);
  738. X      if (len == (unsigned)EOF || len == 0) return len;
  739. X      do {
  740. X-        /* ??? keep cr lf intact */
  741. X         if ((*buf++ = *b++) == '\n') *(buf-1) = '\r', *buf++ = '\n', len++;
  742. X      } while (--size != 0);
  743. X      buf -= len;
  744. X--- 408,418 ----
  745. END_OF_FILE
  746.   if test 25094 -ne `wc -c <'patch1.1'`; then
  747.     echo shar: \"'patch1.1'\" unpacked with wrong size!
  748.   fi
  749.   # end of 'patch1.1'
  750. fi
  751. if test -f 'patch1.2.uu' -a "${1}" != "-c" ; then 
  752.   echo shar: Will not clobber existing file \"'patch1.2.uu'\"
  753. else
  754.   echo shar: Extracting \"'patch1.2.uu'\" \(4857 characters\)
  755.   sed "s/^X//" >'patch1.2.uu' <<'END_OF_FILE'
  756. Xbegin 666 patch1.2
  757. XM9&EF9B M8W(@>FEP,3DO;7-D;W,O;6%K969I;&4N8F]R('II<#$Y<#$O;7-D
  758. XM;W,O;6%K969I;&4N8F]R"BHJ*B!Z:7 Q.2]M<V1O<R]M86ME9FEL92YB;W()
  759. XM5&AU($%U9R R," P-#HQ.3HU-B Q.3DR"BTM+2!Z:7 Q.7 Q+VUS9&]S+VUA
  760. XM:V5F:6QE+F)O<@E7960@075G(#(V(#$U.C(V.C(P(#$Y.3(**BHJ*BHJ*BHJ
  761. XM*BHJ*BHJ"BHJ*B Q,#8L,3$R("HJ*BH*(" ))"A#0RD@+6,@)"A55$E,1DQ!
  762. XM1U,I)"H@9FEL96EO+F,-"B @#0H@('5T:6Q?+F]B:CH)=71I;"YC('II<"YH
  763. XM('II<&5R<BYH('1A:6QO<BYH#0HA( DD*$-#*2 M8R D*%5424Q&3$%'4RDD
  764. XM*B!F:6QE:6\N8PT*(" -"B @8W)Y<'1?+F]B:CH)8W)Y<'0N8R!Z:7 N:"!Z
  765. XM:7!E<G(N:"!T86EL;W(N: T*(" ))"A#0RD@+6,@)"A55$E,1DQ!1U,I)"H@
  766. XM8W)Y<'0N8PT*+2TM(#$P-BPQ,3(@+2TM+0H@( DD*$-#*2 M8R D*%5424Q&
  767. XM3$%'4RDD*B!F:6QE:6\N8PT*(" -"B @=71I;%\N;V)J.@EU=&EL+F,@>FEP
  768. XM+F@@>FEP97)R+F@@=&%I;&]R+F@-"B$@"20H0T,I("UC("0H551)3$9,04=3
  769. XM*20J('5T:6Q?+F,-"B @#0H@(&-R>7!T7RYO8FHZ"6-R>7!T+F,@>FEP+F@@
  770. XM>FEP97)R+F@@=&%I;&]R+F@-"B @"20H0T,I("UC("0H551)3$9,04=3*20J
  771. XM(&-R>7!T+F,-"F1I9F8@+6-R('II<#$Y+VUS9&]S+VUA:V5F:6QE+F=C8R!Z
  772. XM:7 Q.7 Q+VUS9&]S+VUA:V5F:6QE+F=C8PHJ*BH@>FEP,3DO;7-D;W,O;6%K
  773. XM969I;&4N9V-C"51H=2!!=6<@,C @,#0Z,3@Z,C0@,3DY,@HM+2T@>FEP,3EP
  774. XM,2]M<V1O<R]M86ME9FEL92YG8V,)5V5D($%U9R R-B Q-3HS,#HQ." Q.3DR
  775. XM"BHJ*BHJ*BHJ*BHJ*BHJ*@HJ*BH@,2PU("HJ*BH*(" C($UA:V5F:6QE(&9O
  776. XM<B!::7 L(%II<$-L;V%K+"!::7!.;W1E(&%N9"!::7!3<&QI="!F;W(-"B$@
  777. XM(R!D:F=C8R Q+C V#0H@( T*("!#4EE05$\]#0H@($-,3T%+/0T*+2TM(#$L
  778. XM-2 M+2TM"B @(R!-86ME9FEL92!F;W(@6FEP+"!::7!#;&]A:RP@6FEP3F]T
  779. XM92!A;F0@6FEP4W!L:70@9F]R#0HA(",@9&IG8V,@,2XP. T*(" -"B @0U)9
  780. XM4%1//0T*("!#3$]!2ST-"BHJ*BHJ*BHJ*BHJ*BHJ*@HJ*BH@-RPQ,R J*BHJ
  781. XM"B @#0H@(",@("HJ*B!&;W(@96YC<GEP=&EO;B!V97)S:6]N+"!R96UO=F4@
  782. XM=&AE(",@870@=&AE(&9R;VYT(&]F(&YE>'0@,R!L:6YE<R J*BH-"B @(T-2
  783. XM65!43SUC<GEP="YO#0HA("-#3$]!2SUZ:7!C;&]A:RYE>&4-"B @(T-21DQ!
  784. XM1STM1$-265!4#0H@( T*(" C("TM+2TM+2TM+2TM+2T@9&IG8V,@+2TM+2TM
  785. XM+2TM+2TM+0T*+2TM(#<L,3,@+2TM+0H@( T*(" C(" J*BH@1F]R(&5N8W)Y
  786. XM<'1I;VX@=F5R<VEO;BP@<F5M;W9E('1H92 C(&%T('1H92!F<F]N="!O9B!N
  787. XM97AT(#,@;&EN97,@*BHJ#0H@("-#4EE05$\]8W)Y<'0N;PT*(2 C0TQ/04L]
  788. XM>FEP8VQO86L-"B @(T-21DQ!1STM1$-265!4#0H@( T*(" C("TM+2TM+2TM
  789. XM+2TM+2T@9&IG8V,@+2TM+2TM+2TM+2TM+0T**BHJ*BHJ*BHJ*BHJ*BHJ"BHJ
  790. XM*B Q.2PR-2 J*BHJ"B @#0H@(",@=F%R:6%B;&5S#0H@($]"2EH@/2!Z:7 N
  791. XM;R!Z:7!F:6QE+F\@>FEP=7 N;R!F:6QE:6\N;R!U=&EL+F\@9VQO8F%L<RYO
  792. XM("0H0U)94%1/*0T*(2 -"B @3T)*52 ]('II<&9I;&5?+F\@>FEP=7!?+F\@
  793. XM9FEL96EO7RYO('5T:6Q?+F\@9VQO8F%L<RYO#0H@($]"2DX@/2!Z:7!N;W1E
  794. XM+F\@("0H3T)*52D-"B @3T)*0R ]('II<&-L;V%K+F\@)"A/0DI5*2!C<GEP
  795. XM=%\N;PT*+2TM(#$Y+#(U("TM+2T*(" -"B @(R!V87)I86)L97,-"B @3T)*
  796. XM6B ]('II<"YO('II<&9I;&4N;R!Z:7!U<"YO(&9I;&5I;RYO('5T:6PN;R!G
  797. XM;&]B86QS+F\@)"A#4EE05$\I#0HA($]"2DD@/2!D969L871E+F\@=')E97,N
  798. XM;R!B:71S+F\@;6%T8V@N;PT*("!/0DI5(#T@>FEP9FEL95\N;R!Z:7!U<%\N
  799. XM;R!F:6QE:6]?+F\@=71I;%\N;R!G;&]B86QS+F\-"B @3T)*3B ]('II<&YO
  800. XM=&4N;R @)"A/0DI5*0T*("!/0DI#(#T@>FEP8VQO86LN;R D*$]"2E4I(&-R
  801. XM>7!T7RYO#0HJ*BHJ*BHJ*BHJ*BHJ*BH**BHJ(#8S+#8Y("HJ*BH*(" ))"A#
  802. XM0RD@+6,@)"A55$E,1DQ!1U,I("1 (&9I;&5I;RYC#0H@( T*("!U=&EL7RYO
  803. XM.B @("!U=&EL+F,@>FEP+F@@>FEP97)R+F@@=&%I;&]R+F@-"B$@"20H0T,I
  804. XM("UC("0H551)3$9,04=3*2 D0"!F:6QE:6\N8PT*(" -"B @8W)Y<'1?+F\Z
  805. XM(" @("!C<GEP="YC('II<"YH#0H@( DD*$-#*2 M8R D*%5424Q&3$%'4RD@
  806. XM)$ @8W)Y<'0N8PT*+2TM(#8S+#8Y("TM+2T*(" ))"A#0RD@+6,@)"A55$E,
  807. XM1DQ!1U,I("1 (&9I;&5I;RYC#0H@( T*("!U=&EL7RYO.B @("!U=&EL+F,@
  808. XM>FEP+F@@>FEP97)R+F@@=&%I;&]R+F@-"B$@"20H0T,I("UC("0H551)3$9,
  809. XM04=3*2 D0"!U=&EL+F,-"B @#0H@(&-R>7!T7RYO.B @(" @8W)Y<'0N8R!Z
  810. XM:7 N: T*(" ))"A#0RD@+6,@)"A55$E,1DQ!1U,I("1 (&-R>7!T+F,-"BHJ
  811. XM*BHJ*BHJ*BHJ*BHJ*@HJ*BH@.#0L.#D@*BHJ*@H@( ED96P@)$ -"B @#0H@
  812. XM('II<'-P;&ET.B D*$]"2E,I#0HA( DD*$Q$*2 D*$Q$1D%'4RD@)"A/0DI3
  813. XM*2 M;R D0 T*(" )86]U=#)E>&4@)$ -"B @"61E;" D0 T*+2TM(#@T+#@Y
  814. XM("TM+2T*(" )9&5L("1 #0H@( T*("!Z:7!S<&QI=#H@)"A/0DI3*0T*(2 )
  815. XM)"A,1"D@)"A,1$9,04=3*2 D*$]"2E,I("UO("1 #0H@( EA;W5T,F5X92 D
  816. XM0 T*(" )9&5L("1 #0ID:69F("UC<B!Z:7 Q.2]O<S(O;W,R>FEP+F,@>FEP
  817. XM,3EP,2]O<S(O;W,R>FEP+F,**BHJ('II<#$Y+V]S,B]O<S)Z:7 N8PE4:'4@
  818. XM075G(#(P(#(P.C S.C$P(#$Y.3(*+2TM('II<#$Y<#$O;W,R+V]S,GII<"YC
  819. XM"5=E9"!!=6<@,C8@,3,Z,#@Z,S0@,3DY,@HJ*BHJ*BHJ*BHJ*BHJ*BH**BHJ
  820. XM(#4X,2PU.3$@*BHJ*@H@(" @(&-A;&QS('1H870@;6%Y(&9A:6PL(&)U="!N
  821. XM;W0@9F]R(&UA;&QO8R@I(&-A;&QS+"!B96-A=7-E('1H97D@87)E(%9%4ED-
  822. XM"B @(" @=6YL:6ME;'D@=&\@9F%I;"X@268@979E<BP@=V4@:G5S="!L96%V
  823. XM92!S;VUE(&UE;6]R>2!A;&QO8V%T960@+BXN("HO#0H@( T*(2 C:68@9&5F
  824. XM:6YE9"A?7T=.54-?7RD@?'P@9&5F:6YE9"A?7TE"34-?7RD-"B @(V1E9FEN
  825. XM92!A;&QO8R!A;&QO8V$-"B @(V5N9&EF#0H@( T*(2 C:69D968@7U]7051#
  826. XM3TU#7U\-"B @(V1E9FEN92!A;&QO8R!M86QL;V,-"B @(V1E9FEN92!?7T92
  827. XM145?7PT*(" C96YD:68-"BTM+2 U.#$L-3DQ("TM+2T*(" @("!C86QL<R!T
  828. XM:&%T(&UA>2!F86EL+"!B=70@;F]T(&9O<B!M86QL;V,H*2!C86QL<RP@8F5C
  829. XM875S92!T:&5Y(&%R92!615)9#0H@(" @('5N;&EK96QY('1O(&9A:6PN($EF
  830. XM(&5V97(L('=E(&IU<W0@;&5A=F4@<V]M92!M96UO<GD@86QL;V-A=&5D("XN
  831. XM+B J+PT*(" -"B$@(VEF(&1E9FEN960H7U]'3E5#7U\I#0H@("-D969I;F4@
  832. XM86QL;V,@86QL;V-A#0H@("-E;F1I9@T*(" -"B$@(VEF(&1E9FEN960H7U]7
  833. XM051#3TU#7U\I('Q\(&1E9FEN960H7U])0DU#7U\I#0H@("-D969I;F4@86QL
  834. XI;V,@;6%L;&]C#0H@("-D969I;F4@7U]&4D5%7U\-"B @(V5N9&EF#0H@
  835. Xend
  836. END_OF_FILE
  837.  if test 4857 -ne `wc -c <'patch1.2.uu'`; then
  838.     echo shar: \"'patch1.2.uu'\" unpacked with wrong size!
  839.   else
  840.     echo shar: Uudecoding \"'patch1.2'\" \(3506 characters\)
  841.     cat patch1.2.uu | uudecode
  842.     if test 3506 -ne `wc -c <'patch1.2'`; then
  843.       echo shar: \"'patch1.2'\" uudecoded with wrong size!
  844.     else
  845.       rm patch1.2.uu
  846.     fi
  847.   fi
  848.   # end of 'patch1.2.uu'
  849. fi
  850. echo shar: End of archive.
  851. exit 0
  852. exit 0 # Just in case...
  853.