home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 9 Archive / 09-Archive.zip / ZIP19P1.ZIP / patch01 < prev    next >
Text File  |  1993-01-23  |  34KB  |  860 lines

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