home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1994 March / Source_Code_CD-ROM_Walnut_Creek_March_1994.iso / compsrcs / misc / volume29 / unzip / part11 < prev    next >
Encoding:
Text File  |  1992-04-02  |  54.7 KB  |  1,465 lines

  1. Newsgroups: comp.sources.misc
  2. From: info-zip@cs.ucla.edu (Info-Zip)
  3. Subject:  v29i041:  unzip - Info-ZIP's portable UnZip v4.2, Part11/12
  4. Message-ID: <1992Apr3.063405.29262@sparky.imd.sterling.com>
  5. X-Md4-Signature: 28b86160fdbc5ee932077f01ec625de2
  6. Date: Fri, 3 Apr 1992 06:34:05 GMT
  7. Approved: kent@sparky.imd.sterling.com
  8.  
  9. Submitted-by: info-zip@cs.ucla.edu (Info-Zip)
  10. Posting-number: Volume 29, Issue 41
  11. Archive-name: unzip/part11
  12. Environment: Unix, VMS, OS/2, MS-DOS, Amiga, Macintosh
  13. Supersedes: unzip, Volume 19, Issues 96-101
  14.  
  15. #! /bin/sh
  16. # This is a shell archive.  Remove anything before this line, then feed it
  17. # into a shell via "sh file" or similar.  To overwrite existing files,
  18. # type "sh file -c".
  19. # The tool that generated this appeared in the comp.sources.unix newsgroup;
  20. # send mail to comp-sources-unix@uunet.uu.net if you want that tool.
  21. # Contents:  AMIGA/stat.c ATARI/tc.cfg.uu BUGS CONTRIBS MAC/macfile.c
  22. #   MAC/make.mpw.uu MSDOS/Contents MSDOS/bcc/tcconfig.tc.uu
  23. #   MSDOS/tcc/tcconfig.tc.uu MSDOS/tcc/zipinfo.prj OS2/Contents
  24. #   VMS/crypt/descrip.mms VMS/descrip.mms VMS/fatdef.h VMS/fchdef.h
  25. #   VMS/unzip.rnh unzip.1 unzip.man
  26. # Wrapped by kent@sparky on Mon Mar 30 01:45:56 1992
  27. PATH=/bin:/usr/bin:/usr/ucb ; export PATH
  28. echo If this archive is complete, you will see the following message:
  29. echo '          "shar: End of archive 11 (of 12)."'
  30. if test -f 'AMIGA/stat.c' -a "${1}" != "-c" ; then 
  31.   echo shar: Will not clobber existing file \"'AMIGA/stat.c'\"
  32. else
  33.   echo shar: Extracting \"'AMIGA/stat.c'\" \(3402 characters\)
  34.   sed "s/^X//" >'AMIGA/stat.c' <<'END_OF_FILE'
  35. X/* stat.c -- for Lattice 4.01 */
  36. X
  37. X#include <exec/types.h>
  38. X#include <exec/exec.h>
  39. X#include <libraries/dos.h>
  40. X#include <libraries/dosextens.h>
  41. X#include <proto/exec.h>
  42. X#include <proto/dos.h>
  43. X
  44. X#include <sys/types.h>
  45. X#include <sys/stat.h>
  46. X
  47. X/* I can't find the defines for DirEntryType or EntryType... */
  48. X#define DOSDIR  (2L)
  49. X#define DOSFILE (-3L)   /* actually, < 0 */
  50. X
  51. X#ifndef SUCCESS
  52. X#define SUCCESS (-1)
  53. X#define FAILURE (0)
  54. X#endif
  55. X
  56. Xextern int stat(char *file,struct stat *buf);
  57. X
  58. Xstat(file,buf)
  59. Xchar *file;
  60. Xstruct stat *buf;
  61. X{
  62. X
  63. X        struct FileInfoBlock *inf;
  64. X        struct FileLock *lock;
  65. X        long ftime;
  66. X
  67. X        if( (lock = (struct FileLock *)Lock(file,SHARED_LOCK))==0 )
  68. X                /* file not found */
  69. X                return(-1);
  70. X
  71. X        if( !(inf = (struct FileInfoBlock *)AllocMem(
  72. X                (long)sizeof(struct FileInfoBlock),MEMF_PUBLIC|MEMF_CLEAR)) )
  73. X        {
  74. X                UnLock((BPTR)lock);
  75. X                return(-1);
  76. X        }
  77. X
  78. X        if( Examine((BPTR)lock,inf)==FAILURE )
  79. X        {
  80. X                FreeMem((char *)inf,(long)sizeof(*inf));
  81. X                UnLock((BPTR)lock);
  82. X                return(-1);
  83. X        }
  84. X
  85. X        /* fill in buf */
  86. X
  87. X        buf->st_dev                =
  88. X        buf->st_nlink        =
  89. X        buf->st_uid                =
  90. X        buf->st_gid                =
  91. X        buf->st_rdev        = 0;
  92. X        
  93. X        buf->st_ino                = inf->fib_DiskKey;
  94. X        buf->st_blocks        = inf->fib_NumBlocks;
  95. X        buf->st_size        = inf->fib_Size;
  96. X        buf->st_blksize        = 512;
  97. X
  98. X        /* now the date.  AmigaDOG has weird datestamps---
  99. X         *      ds_Days is the number of days since 1-1-1978;
  100. X         *      however, as Unix wants date since 1-1-1970...
  101. X         */
  102. X
  103. X        ftime =
  104. X                (inf->fib_Date.ds_Days * 86400 )                +
  105. X                (inf->fib_Date.ds_Minute * 60 )                 +
  106. X                (inf->fib_Date.ds_Tick / TICKS_PER_SECOND )     +
  107. X                (86400 * 8 * 365 )                              +
  108. X                (86400 * 2 );  /* two leap years, I think */
  109. X
  110. X/*  ftime += timezone;  */
  111. X
  112. X        buf->st_ctime =
  113. X        buf->st_atime =
  114. X        buf->st_mtime =
  115. X        buf->st_mtime = ftime;
  116. X
  117. X        switch( inf->fib_DirEntryType )
  118. X        {
  119. X        case DOSDIR:
  120. X                buf->st_mode = S_IFDIR;
  121. X                break;
  122. X
  123. X        case DOSFILE:
  124. X                buf->st_mode = S_IFREG;
  125. X                break;
  126. X
  127. X        default:
  128. X                buf->st_mode = S_IFDIR | S_IFREG;
  129. X                /* an impossible combination?? */
  130. X        }
  131. X
  132. X        /* lastly, throw in the protection bits */
  133. X
  134. X        if((inf->fib_Protection & FIBF_READ) == 0)
  135. X                buf->st_mode |= S_IREAD;
  136. X
  137. X        if((inf->fib_Protection & FIBF_WRITE) == 0)
  138. X                buf->st_mode |= S_IWRITE;
  139. X
  140. X        if((inf->fib_Protection & FIBF_EXECUTE) == 0)
  141. X                buf->st_mode |= S_IEXECUTE;
  142. X
  143. X        if((inf->fib_Protection & FIBF_DELETE) == 0)
  144. X                buf->st_mode |= S_IDELETE;
  145. X
  146. X        if((inf->fib_Protection & (long)FIBF_ARCHIVE))
  147. X                buf->st_mode |= S_IARCHIVE;
  148. X
  149. X        if((inf->fib_Protection & (long)FIBF_PURE))
  150. X                buf->st_mode |= S_IPURE;
  151. X
  152. X        if((inf->fib_Protection & (long)FIBF_SCRIPT))
  153. X                buf->st_mode |= S_ISCRIPT;
  154. X
  155. X        FreeMem((char *)inf, (long)sizeof(*inf));
  156. X        UnLock((BPTR)lock);
  157. X
  158. X        return(0);
  159. X
  160. X}
  161. END_OF_FILE
  162.   if test 3402 -ne `wc -c <'AMIGA/stat.c'`; then
  163.     echo shar: \"'AMIGA/stat.c'\" unpacked with wrong size!
  164.   fi
  165.   # end of 'AMIGA/stat.c'
  166. fi
  167. if test -f 'ATARI/tc.cfg.uu' -a "${1}" != "-c" ; then 
  168.   echo shar: Will not clobber existing file \"'ATARI/tc.cfg.uu'\"
  169. else
  170.   echo shar: Extracting \"'ATARI/tc.cfg.uu'\" \(3361 characters\)
  171.   sed "s/^X//" >'ATARI/tc.cfg.uu' <<'END_OF_FILE'
  172. Xbegin 644 ATARI/tc.cfg
  173. XM @( "C0                                                     
  174. XM                                                            
  175. XM                                                            
  176. XM                                                            
  177. XM                                                            
  178. XM                                                            
  179. XM                                                            
  180. XM                                                            
  181. XM                                                            
  182. XM                                                            
  183. XM            93I<=&-<:6YC;'5D90                              
  184. XM     $%405))7U-4/3$                                         
  185. XM                                                    ,C4  #$P
  186. XM,  S,@  ,@                                                  
  187. XM                                                            
  188. XM                                                            
  189. XM                                                            
  190. XM                                                            
  191. XM                                                            
  192. XM                                                            
  193. XM                                                            
  194. XM                                                            
  195. XM                                                            
  196. XM                                                            
  197. XM                                                            
  198. XM                                                            
  199. XM                                                            
  200. XM              0                                         93I<
  201. XM=&-<;&EB                                                    
  202. XM                                                            
  203. XM                                                            
  204. XM                                                            
  205. XM1CI<54Y:25!<54Y:25 N4%)*                                    
  206. XM                                                            
  207. XM                                                  !&.EQ53EI)
  208. XM4%P 12Y/                                                    
  209. XM                                                            
  210. XM                                                            
  211. XM                                                            
  212. XM                                                            
  213. XM                                /S\_                        
  214. XM 0 " $8 %$8Z7%5.6DE07%5.6DE0+D@ 4%Q53EI)4"Y(    *     ,     
  215. XM       )^:8  #>* P  ")&6    $" @ I8   !A    $             C 
  216. XM=B @ I8    !    $                0 (  $ "  !     0   !  "=(B
  217. XM      #+    RP    $ 1@ 41CI<54Y:25!<54Y:25 N4%)* %5.6DE0+D@ 
  218. XM   H     P            GYI@  -XH#   (D98    0(" "E@   &$    0
  219. XM            ",!V(" "E@    $    0               !  @  0 (  $ 
  220. XM   !    $  )TB(  0   +(   "R     0!& !1-97-S86=E<P          
  221. XM                                                            
  222. XM                                                            
  223. XM                               "                            
  224. XM                                                            
  225. XM                                                            
  226. XA                                            
  227. Xend
  228. END_OF_FILE
  229.   if test 3361 -ne `wc -c <'ATARI/tc.cfg.uu'`; then
  230.     echo shar: \"'ATARI/tc.cfg.uu'\" unpacked with wrong size!
  231.   else
  232.     echo shar: Uudecoding \"'ATARI/tc.cfg.uu'\"
  233.     cat ATARI/tc.cfg.uu | uudecode
  234.     if [ -f ATARI/tc.cfg.uu ]; then
  235.        rm ATARI/tc.cfg.uu
  236.     fi
  237.   fi
  238.   # end of 'ATARI/tc.cfg.uu'
  239. fi
  240. if test -f 'BUGS' -a "${1}" != "-c" ; then 
  241.   echo shar: Will not clobber existing file \"'BUGS'\"
  242. else
  243.   echo shar: Extracting \"'BUGS'\" \(3189 characters\)
  244.   sed "s/^X//" >'BUGS' <<'END_OF_FILE'
  245. XBugs (real and/or imagined):
  246. X---------------------------
  247. X
  248. X - pkbug error:  zipfile with incorrect csize and/or ucsize--check for end of
  249. X    compressed (csize) data in uncompression routines:
  250. X      unimplod.c:    while ((!zipeof) && ((outpos + outcnt) < ucsize)) {
  251. X      unreduce.c:    while (((outpos + outcnt) < ucsize) && (!zipeof)) {
  252. X    (James Birdsall, Mark, bottom of BUGS.long)
  253. X - add SEGV signal handler to avoid core dumps (Jean-loup, BUGS.long)
  254. X - if PK signature not found, append .zip and try again without error 
  255. X    messages (Jean-loup, others, bottom of BUGS.long)
  256. X - stdlib.h non-existent some systems?  (IBM BSD 4.3, Apollo Domain?)
  257. X - disk full:  a few files clear some pointer; continuing beyond "Continue?"
  258. X    prompt, regardless of answer, kills unzip--stack too small? (doesn't seem
  259. X    to matter)  Bug in MSC write() function?  Subsequent write code isn't any 
  260. X    different from -t option, so unlikely to be bug in uncompress routines...
  261. X    File descriptor bad/close() failure?  (workaround:  ^C at prompt)
  262. X - textfile conversions on a PC system add extra CR to lines which already have
  263. X    CR/LF combo; probably don't work in all directions, either (Mac/Unix/...)
  264. X - compressed symlinks are allowed:  revise symlink code
  265. X - malloc/free main storage as needed (esp. stack[])
  266. X - fix "no errors detected" message for errors occurring *before* extract_or_
  267. X    test_files(); count errors?  differentiate between errors and warnings?
  268. X - add new extended local header capability for piped zipfiles
  269. X
  270. X
  271. XFeatures (possible and/or definite):
  272. X-----------------------------------
  273. X
  274. X - add loop (2 or 3) for multiple password attempts with decryption
  275. X - test/incorporate Martin Schulz optimization patch
  276. X - add -oo option (overwrite and override):  no user queries (if bad password,
  277. X    skip file; if disk full, take default action; if VMS special on non-VMS,
  278. X    unpack anyway; etc.)
  279. X - add -Q[Q[Q]] option (quiet mode on comments, cautions, warnings and errors):
  280. X    forget -oo, or make synonym?  Default level -Q?  Override with +Q?  -Q# ?
  281. X - allow wildcards in zipfile name (loop through each one)
  282. X - build in capability to check text/binary type and warn if -a (if version
  283. X    < 1.1 and not made on DOS--i.e., not early Info-ZIP versions)
  284. X - change use of __STDC__ to PROTO or something similar:  too much awkwardness
  285. X - incorporate Atari patches
  286. X - modify set_file_time routines to share common code (macro?)
  287. X - use lrec.whatever instead of pInfo (crec), whenever possible (see next item)
  288. X - modify to decompress input stream if part of a pipe, but continue
  289. X    using central directory if not (BIG job!)
  290. X - assembly-language version of CRC check; write unimplode in assembler?
  291. X - check for environment variable ("UNZIP") for default options--override
  292. X    with +[options]
  293. X - -v#, -l# instead of "q"?  combine with UNZIP variable
  294. X - add -i (ignore case for internal filename match) option?  hmmmm...
  295. X - mapname() should be rewritten
  296. X - CP/M version (Jeffery Foy)
  297. X - VM/CMS version (Chua Kong Sian, others)
  298. X - MS-DOS Power C support (need predefined token:  see ship 1.1)
  299. X - put man pages in more "proper" nroff format
  300. X - add OS/2 .INF format helpfiles for UnZip and ZipInfo
  301. X
  302. END_OF_FILE
  303.   if test 3189 -ne `wc -c <'BUGS'`; then
  304.     echo shar: \"'BUGS'\" unpacked with wrong size!
  305.   fi
  306.   # end of 'BUGS'
  307. fi
  308. if test -f 'CONTRIBS' -a "${1}" != "-c" ; then 
  309.   echo shar: Will not clobber existing file \"'CONTRIBS'\"
  310. else
  311.   echo shar: Extracting \"'CONTRIBS'\" \(2686 characters\)
  312.   sed "s/^X//" >'CONTRIBS' <<'END_OF_FILE'
  313. XThis is a partial list of contributors to Info-ZIP UnZip and the code upon
  314. Xwhich it is based.  Many, many others have also contributed, and if you are
  315. Xamong them, please let us know.  Aside from the Info-ZIP digest archives,
  316. Xwe have not kept very good track of who contributed what.  Also, contributors
  317. Xto the makefile are listed at the bottom of Makefile.
  318. X
  319. X  Mark Adler            decryption code; inflate code; misc. casts
  320. X  Joel Aycock           descrip.mms bugfix
  321. X  Allan Bjorklund       in misc.c
  322. X  Wim Bonner            OS/2 stuff
  323. X  John Cowan            original case insensitivity in match.c
  324. X  Frank da Cruz         xxu.c, on which mapname.c is based
  325. X  Bill Davidsen         -q(q); mapname stuff; memset/memcpy(?); etc.
  326. X  Arjan de Vet          various things, but I don't remember exactly what...
  327. X  James Dugal           in mapname.c
  328. X  Jim Dumser            -z stuff; umask bugfixes; etc.
  329. X  Mark Edwards          in mapname.c, misc.c
  330. X  Mike Freeman          VMS GCC makefiles; etc.
  331. X  Jean-loup Gailly      decryption code; much prodding to fix bugs :-)
  332. X  Hunter Goatley        VMS RUNOFF source (documentation)
  333. X  Dave Heiland          new usage screen [, new documentation...?]
  334. X  Thom Henderson        arcmatch.c, on which match.c is based
  335. X  Larry Jones           in mapname.c, misc.c
  336. X  David Kirschbaum      mapname port; general-purpose meddling; M. Python jokes
  337. X  Bo Kullmar            -z code; bugfixes: umask, do_string, BSD time; etc.
  338. X  Johnny Lee            Mac port
  339. X  Warner Losh           in misc.c
  340. X  Igor Mandrichenko     vms.c; many improvements and VMS modifications
  341. X  Carl Mascott          original Unix port; unimplode stuff; etc.
  342. X  Gene McManus          -o code
  343. X  Joe Meadows           file.c, on which VMSmunch.c is based
  344. X  Mike O'Carroll        OS/2 stuff
  345. X  Keith Petersen        former Info-ZIP list maintainer
  346. X  Antonio Querubin, Jr  descrip.mms (VMS makefile)
  347. X  Greg Roelofs          central directory code; ZipInfo; VMS; major meddling
  348. X  Kai Uwe Rommel        much OS/2 code; bugfixes; etc.
  349. X  Georg Sassen          Amiga DICE compiler port
  350. X  Jon Saxton            date formats
  351. X  Hugh Schmidt          VMS stuff
  352. X  Martin Schulz         Atari patches
  353. X  Chris Seaman          Unix time stuff; match stuff
  354. X  Alex Sergejew         file_io.c bugfix; stat() bugfix; Down Under jokes
  355. X  Samuel H. Smith       original unzip code (Pascal and C) for PC
  356. X  Cliff Stanford        file_io.c umask bug
  357. X  Mike Stump            original SysV port of arcmatch.c
  358. X  Antoine Verheijen     MTS/EBCDIC stuff; FILENAME_MAX stuff; 4.2 Mac fixes...
  359. X  Rich Wales            current Info-ZIP moderator and zip guy
  360. X  Paul Wells            original Amiga port for SAS/C and Lattice C (?)
  361. END_OF_FILE
  362.   if test 2686 -ne `wc -c <'CONTRIBS'`; then
  363.     echo shar: \"'CONTRIBS'\" unpacked with wrong size!
  364.   fi
  365.   # end of 'CONTRIBS'
  366. fi
  367. if test -f 'MAC/macfile.c' -a "${1}" != "-c" ; then 
  368.   echo shar: Will not clobber existing file \"'MAC/macfile.c'\"
  369. else
  370.   echo shar: Extracting \"'MAC/macfile.c'\" \(3696 characters\)
  371.   sed "s/^X//" >'MAC/macfile.c' <<'END_OF_FILE'
  372. X/*---------------------------------------------------------------------------
  373. X
  374. X  mac.c
  375. X
  376. X  This source file is used by the mac port to support commands not available
  377. X  directly on the Mac, i.e. mkdir().
  378. X  It also helps determine if we're running on a Mac with HFS and a disk
  379. X  formatted for HFS (HFS - Hierarchical File System; compared to its predecessor,
  380. X  MFS - Macintosh File System).
  381. X  
  382. X  ---------------------------------------------------------------------------*/
  383. X
  384. X#include "unzip.h"
  385. X
  386. X#ifdef MACOS
  387. X#ifndef THINK_C
  388. X#define FSFCBLen    (*(short *)0x3F6)
  389. X#define CtoPstr     c2pstr
  390. X#define PtoCstr     p2cstr
  391. X#endif
  392. X
  393. Xstatic short wAppVRefNum;
  394. Xstatic long lAppDirID;
  395. Xint hfsflag;            /* set if disk has hierarchical file system */
  396. X
  397. Xstatic int IsHFSDisk(short wRefNum)
  398. X{
  399. X    /* get info about the specified volume */
  400. X    if (hfsflag == true) {
  401. X        HParamBlockRec    hpbr;
  402. X        Str255 temp;
  403. X        short wErr;
  404. X        
  405. X        hpbr.volumeParam.ioCompletion = 0;
  406. X        hpbr.volumeParam.ioNamePtr = temp;
  407. X        hpbr.volumeParam.ioVRefNum = wRefNum;
  408. X        hpbr.volumeParam.ioVolIndex = 0;
  409. X        wErr = PBHGetVInfo(&hpbr, 0);
  410. X
  411. X        if (wErr == noErr && hpbr.volumeParam.ioVFSID == 0
  412. X            && hpbr.volumeParam.ioVSigWord == 0x4244) {
  413. X                return true;
  414. X        }
  415. X    }
  416. X
  417. X    return false;
  418. X} /* IsHFSDisk */
  419. X
  420. Xvoid macfstest(int vrefnum)
  421. X{
  422. X    Str255 st;
  423. X
  424. X    /* is this machine running HFS file system? */
  425. X    if (FSFCBLen <= 0) {
  426. X        hfsflag = false;
  427. X    }
  428. X    else
  429. X    {
  430. X        hfsflag = true;
  431. X    }
  432. X
  433. X    /* get the file's volume reference number and directory ID */
  434. X    if (hfsflag == true) {
  435. X        WDPBRec    wdpb;
  436. X        OSErr err = noErr;
  437. X
  438. X        if (vrefnum != 0) {
  439. X            wdpb.ioCompletion = false;
  440. X            wdpb.ioNamePtr = st;
  441. X            wdpb.ioWDIndex = 0;
  442. X            wdpb.ioVRefNum = vrefnum;
  443. X            err = PBHGetVol(&wdpb, false);
  444. X        
  445. X            if (err == noErr) {
  446. X                wAppVRefNum = wdpb.ioWDVRefNum;
  447. X                lAppDirID = wdpb.ioWDDirID;
  448. X            }
  449. X        }
  450. X
  451. X        /* is the disk we're using formatted for HFS? */
  452. X        hfsflag = IsHFSDisk(wAppVRefNum);
  453. X    }
  454. X} /* mactest */
  455. X
  456. Xint mkdir(char *path)
  457. X{
  458. X    OSErr    err = -1;
  459. X
  460. X    if (path != 0 && strlen(path)<256 && hfsflag == true) {
  461. X        HParamBlockRec    hpbr;
  462. X        Str255    st;
  463. X        short     wVol;
  464. X        long      lDirID;
  465. X
  466. X        CtoPstr(path);
  467. X        hpbr.fileParam.ioNamePtr = st;
  468. X        hpbr.fileParam.ioCompletion = NULL;
  469. X        err = PBHGetVol((WDPBPtr)&hpbr, false);
  470. X        if (err == noErr) {
  471. X            wVol = hpbr.wdParam.ioWDVRefNum;
  472. X            lDirID = hpbr.wdParam.ioWDDirID;
  473. X            hpbr.fileParam.ioCompletion = NULL;
  474. X            hpbr.fileParam.ioVRefNum = wVol;
  475. X            hpbr.fileParam.ioDirID = lDirID;
  476. X            hpbr.fileParam.ioNamePtr = (StringPtr)path;
  477. X            err = PBDirCreate(&hpbr, false);
  478. X        }    
  479. X        PtoCstr(path);
  480. X    }
  481. X
  482. X    return (int)err;
  483. X} /* mkdir */
  484. X
  485. Xvoid SetMacVol(char *pch, short wVRefNum)
  486. X{
  487. X    OSErr err = -1;
  488. X
  489. X    if (hfsflag == true) {
  490. X        HParamBlockRec  hpbr;
  491. X        Str255  st;
  492. X
  493. X        hpbr.wdParam.ioCompletion = NULL;
  494. X        hpbr.wdParam.ioNamePtr = st;
  495. X        hpbr.wdParam.ioVRefNum = wVRefNum;
  496. X        hpbr.wdParam.ioWDIndex = 0;
  497. X        hpbr.wdParam.ioWDProcID = 0;
  498. X        hpbr.wdParam.ioWDVRefNum = 0;
  499. X        err = PBGetWDInfo((WDPBPtr)&hpbr, false);
  500. X        if (err == noErr) {
  501. X            hpbr.wdParam.ioCompletion = NULL;
  502. X            hpbr.wdParam.ioNamePtr = NULL;
  503. X            err = PBHSetVol((WDPBPtr)&hpbr, false);
  504. X        }
  505. X    } else {
  506. X        err = SetVol((StringPtr)pch, wVRefNum);
  507. X    }
  508. X} /* SetMacVol */
  509. X#endif /* MACOS */
  510. END_OF_FILE
  511.   if test 3696 -ne `wc -c <'MAC/macfile.c'`; then
  512.     echo shar: \"'MAC/macfile.c'\" unpacked with wrong size!
  513.   fi
  514.   # end of 'MAC/macfile.c'
  515. fi
  516. if test -f 'MAC/make.mpw.uu' -a "${1}" != "-c" ; then 
  517.   echo shar: Will not clobber existing file \"'MAC/make.mpw.uu'\"
  518. else
  519.   echo shar: Extracting \"'MAC/make.mpw.uu'\" \(1677 characters\)
  520.   sed "s/^X//" >'MAC/make.mpw.uu' <<'END_OF_FILE'
  521. Xbegin 644 MAC/unzip.make.mpw
  522. XM(R @(%1H:7,@35!7(&UA:V5F:6QE(&ES(&1E<VEG;F5D('1O(&)E('5S960@
  523. XM=&\@8V]M<&EL92!A;B!-4%<@=F5R<VEO;@HC(" @;V8@=6YZ:7 @=7-I;F<@
  524. XM=&AE($U05R!#(&-O;7!I;&5R+"!V97)S:6]N(#,N,BX@4VEM<&QY(')E;F%M
  525. XM90HC(" @=&AI<R!F:6QE(&%S('5N>FEP+FUA:V4@86YD(&1O(&%N($U05R!B
  526. XM=6EL9"X*"@HC(" @1FEL93H@(" @(" @=6YZ:7 N;6%K90HC(" @5&%R9V5T
  527. XM.B @(" @=6YZ:7 *(R @(%-O=7)C97,Z(" @('5N>FEP+F,*(R @(" @(" @
  528. XM(" @(" @(&5X=')A8W0N8PHC(" @(" @(" @(" @(" @9FEL95]I;RYC"B,@
  529. XM(" @(" @(" @(" @("!M86-F:6QE+F,*(R @(" @(" @(" @(" @(&UA8W-T
  530. XM870N8PHC(" @(" @(" @(" @(" @;6%P;F%M92YC"B,@(" @(" @(" @(" @
  531. XM("!M871C:"YC"B,@(" @(" @(" @(" @("!M:7-C+F,*(R @(" @(" @(" @
  532. XM(" @('5N:6UP;&]D+F,*(R @(" @(" @(" @(" @('5N<F5D=6-E+F,*(R @
  533. XM(" @(" @(" @(" @('5N<VAR:6YK+F,*(R @($-R96%T960Z(" @(%-A='5R
  534. XM9&%Y+"!&96)R=6%R>2 R.2P@,3DY,B W.C U.C P(%!-"@H*0T9,04=3(#T@
  535. XM+60@35!7"@I,1DQ!1U,@/2 M;0H*"BYC+F\@Q" N8R!U;GII<"YH('5N>FEP
  536. XM+FUA:V4*(" @(" @("!#('M#1DQ!1U-]('M$969A=6QT?2YC"@I/0DI%0U13
  537. XM(#T@M@H@(" @(" @('5N>FEP+F,N;R"V"B @(" @(" @97AT<F%C="YC+F\@
  538. XMM@H@(" @(" @(&9I;&5?:6\N8RYO(+8*(" @(" @("!M86-F:6QE+F,N;R"V
  539. XM"B @(" @(" @;6%C<W1A="YC+F\@M@H@(" @(" @(&UA<&YA;64N8RYO(+8*
  540. XM(" @(" @("!M871C:"YC+F\@M@H@(" @(" @(&UI<V,N8RYO(+8*(" @(" @
  541. XM("!U;FEM<&QO9"YC+F\@M@H@(" @(" @('5N<F5D=6-E+F,N;R"V"B @(" @
  542. XM(" @=6YS:')I;FLN8RYO"@IU;GII<"#$('M/0DI%0U13?0H@(" @(" @($QI
  543. XM;FL@+60@+6,@)TU04R G("UT($U04U0@M@H@(" @(" @(" @(" @(" @>T]"
  544. XM2D5#5%-](+8*(" @(" @(" @(" @(" @(")[0TQI8G)A<FEE<WTB4W1D0VQI
  545. XM8BYO(+8*(" @(" @(" @(" @(" @(")[3&EB<F%R:65S?2)3='5B<RYO(+8*
  546. XM(" @(" @(" @(" @(" @(")[3&EB<F%R:65S?2)2=6YT:6UE+F\@M@H@(" @
  547. XM(" @(" @(" @(" @(GM,:6)R87)I97-](DEN=&5R9F%C92YO(+8*(" @(" @
  548. X3(" @(" @(" @("UO('5N>FEP"G)I
  549. Xend
  550. END_OF_FILE
  551.   if test 1677 -ne `wc -c <'MAC/make.mpw.uu'`; then
  552.     echo shar: \"'MAC/make.mpw.uu'\" unpacked with wrong size!
  553.   else
  554.     echo shar: Uudecoding \"'MAC/make.mpw.uu'\" 
  555.     cat MAC/make.mpw.uu | uudecode 
  556.     if [ -f MAC/make.mpw.uu ]; then 
  557.        rm MAC/make.mpw.uu
  558.     fi
  559.   fi
  560.   # end of 'MAC/make.mpw.uu'
  561. fi
  562. if test -f 'MSDOS/Contents' -a "${1}" != "-c" ; then 
  563.   echo shar: Will not clobber existing file \"'MSDOS/Contents'\"
  564. else
  565.   echo shar: Extracting \"'MSDOS/Contents'\" \(2322 characters\)
  566.   sed "s/^X//" >'MSDOS/Contents' <<'END_OF_FILE'
  567. XContents of the MSDOS sub-archive for UnZip 4.2 and later:
  568. X
  569. X  Contents          this file
  570. X  makefile          makefile for Turbo C, Borland C++, and old Microsoft C
  571. X  makefile.cr       ditto, for decryption version of UnZip (need crypt.c)
  572. X  tcc/tcconfig.tc   Turbo C general configuration file (binary)
  573. X  tcc/unzip.prj     Turbo C project file for UnZip
  574. X  tcc/unzip_cr.prj  Turbo C project file for UnZip + decryption (need crypt.c)
  575. X  tcc/zipinfo.prj   outline for Turbo C project file for ZipInfo
  576. X  tcc/makeship.bat  batch file to make Ship with Turbo C
  577. X  bcc/tcconfig.tc   BC++ general configuration file (binary)
  578. X  bcc/unz42_bc.dif  patch to avoid BC++ compilation warning
  579. X  bcc/unzip.dsk     BC++ context file for UnZip (binary)
  580. X  bcc/unzip.mak     BC++ makefile for UnZip
  581. X  bcc/unzip.prj     BC++ project file for UnZip (binary)
  582. X  bcc/unzip_cr.dsk  BC++ context file for UnZip/decryption (binary; need crypt)
  583. X  bcc/unzip_cr.mak  BC++ makefile for UnZip + decryption (need crypt.c)
  584. X  bcc/unzip_cr.prj  BC++ project file for UnZip/decryption (binary; need crypt)
  585. X  bcc/zipinfo.dsk   BC++ context file for ZipInfo (binary)
  586. X  bcc/zipinfo.mak   BC++ makefile for ZipInfo
  587. X  bcc/zipinfo.prj   BC++ project file for ZipInfo (binary)
  588. X  bcc/makeship.bat  batch file to make Ship with Borland C++
  589. X
  590. XNote:  despite the similarity in names to the corresponding Turbo C files,
  591. Xthe Borland C++ files apparently are NOT compatible with the older compilers
  592. X(although they seem to be compatible with Turbo C++).  Such was the claim of
  593. Xone of our testers, at least.  So the old TC makefiles are also included.  I 
  594. Xhave tried to update them appropriately, but I don't know for sure that they 
  595. Xwork.  The ZipInfo project file needs to specify that misc.c be compiled with
  596. X-DZIPINFO (it might work as it stands, but the executable will be unnecessarily
  597. Xlarge).
  598. X
  599. XNote also:  for MSC 6.0 or later, use the msc_dos, zi_dos and ship_dos (or
  600. Xmsc_os2, zi_os2 and ship_os2) targets in the main Unix Makefile--with NMAKE,
  601. Xnot MAKE.  The msc_dos target is very close to the DOS 128-character command-
  602. Xline limit--124 characters, if -DCRYPT and -FPi87 are among the CFLAGS--but
  603. Xit should work.  If it's too long, remove the -nologo from CFLAGS (and, option-
  604. Xally, the /nol from LDFLAGS).  The compile will be slightly "noisier," but no
  605. Xharm is done.
  606. END_OF_FILE
  607.   if test 2322 -ne `wc -c <'MSDOS/Contents'`; then
  608.     echo shar: \"'MSDOS/Contents'\" unpacked with wrong size!
  609.   fi
  610.   # end of 'MSDOS/Contents'
  611. fi
  612. if test -f 'MSDOS/bcc/tcconfig.tc.uu' -a "${1}" != "-c" ; then 
  613.   echo shar: Will not clobber existing file \"'MSDOS/bcc/tcconfig.tc.uu'\"
  614. else
  615.   echo shar: Extracting \"'MSDOS/bcc/tcconfig.tc.uu'\" \(2548 characters\)
  616.   sed "s/^X//" >'MSDOS/bcc/tcconfig.tc.uu' <<'END_OF_FILE'
  617. Xbegin 644 MSDOS/bcc/tcconfig.tc
  618. XM5'5R8F\@0R!#;VYF:6=U<F%T:6]N($9I;&4@&@ !#1(7 1H   L( 'P D0$"
  619. XM    D@$"  $ E0$!  26 0(   "7 0( &0"8 0(   "9 0( !P"< 00 .   
  620. XM )T! @ " )\! @ ' * ! @ B Z$! @"'_Z(! @   *,! @   *0! @   *4!
  621. XM 0  I@$"  $ IP$"    J $"    J0$"    __\   D EP,7 ^\"        
  622. XM_\!____A?___X                     #_^___               !    
  623. XM                 5@ %@"P !, _  : &0!& #$ 08  0 # @, _P$$ .T!
  624. XM!0#Q 08 !0('  D""  ' @D :0(+ -P!# #' @X 90(/ .(!$ "U A$ WP$2
  625. XM /L!$P#O 10 $ (6 -L"%P#X 1@ \P$9  L"&@#U 0X !P() &D"1P 2 D@ 
  626. XM\0%) /L!2P#O 4T [0%/ !0"4 #S 5$ _P%2 -L"4P ) G,  P)T  4"=0 9
  627. XM G8 'P)W !8"A  < AL 3P(" 28" P%5 @0!MP(( 5,""0%A @L!*@(, 2X"
  628. XM$ '7 A$!MP(2 ;\"$P'G A0!.0(5 6,"%@%9 A<!NP(9 5T", !K C$ ;@(R
  629. XM '$",P!T C0 =P(U 'H"-@!] C< @ (X (,".0"& @$!RP(" 40" P$? @0!
  630. XM% (% 18"!@'# @L!2 (0 4P"$@$< A,!$@(8 1D"&0$. C  B0(Q (T",@"1
  631. XM C, E0(T )D"-0"= C8 H0(W *4". "I CD K0(; ;$"'0&S @8!X0() =T"
  632. XM#P$B A(!Y0(4 >,"%0'? @(" 0(# 0($ 1(!$0$3 10!5 %5 14!%@$9/0$:
  633. XM/0$^5CT!/E<] 1<!& $I 2@!)1T!)@$G 1T!'@$S'P$S( $S(0$S(@$>.0T!
  634. XM3BHL 4XK+ %.01X3*Q0=*BQ" 4Y!$1=+*Q<J+$(!,RX_ 3,O/P$T/P%; 5P!
  635. XM+0$P+#\!,2P_ 3(_3@%% 48!.0T4 5,!-P !-P$!-P(!-P,!-P0!-P4!-P8!
  636. XM-P<!-P@!-PD!-@ _ 38!/P$V C\!-@,_ 38$/P$V!3\!-@8_ 38'/P$V"#\!
  637. XM-@D_ 4P!30$Y 0,!  $# @ ! P,  0,$  $#!0 ! P8  0,)  $#"@ ! PL 
  638. XM 2,!1P%) 5(!4 %9 0,2  $#$P ! "\J*B\!*  I  %; %T  7L ?0 !/  ^
  639. XM   B "(  "< )P "                                            
  640. XM                                                            
  641. XM                                                            
  642. XM            "P#3 @AP('!X="0(<"!P>'0D<' @<'AT)!<7<1X73A\?&A,Q
  643. XM,3!/  <'?P]_3@\/"A,Q,0<  #$Q*S$_3C\_.A,Q,0   #$Q*S$_3C\_.A,Q
  644. XM,0     W/C >,0 Q,3$3$P  ,# ^,!XQ/S\Z,1,3?G .<0  =' ?<0 ?&A,Q
  645. XM,0                                           #$Q*S$_3C\_.A,Q
  646. XM,0   #$Q*S$_3C\_.A,Q,0   ']_ '      >C$Q$P   ']^<'YP?G]^>!,;
  647. XM'APO+BLN("YX&R\?+Q\>$!X7'QHP/B\X/SXP/C@'!W '#P\/!P=P!P\/#P<'
  648. XM< </#P\'!W '!W /#P]W#P\/<  '!W '#W /#P]W#P\'   '!W '#W /#P]W
  649. XM#P\    '!W '#W /#P]W#P\    /!P\'< \/#P]W#P\   \'#P=P#P\/#W</
  650. XM#W!P#W    \'<'< #P]W#P\                                     
  651. XM       '!W '#W /#P]W#P\    '!W '#W /#P]W#P\    /< !P     '!W
  652. XM#P\    /< =P!W /<'@'!P<'#W '< =P> =P#W '#P</> \/!P=P> ]P!P]X
  653. XM"'@'>'AP#PAX!WAX< \(> =X>' /!P=P#P]P#P\/=P\/#W  !P=P!P\/#P\/
  654. XM=P\/!P  !P=P!P\/#P\/=P\/    !P=P!P\/#P\/=P\/    #P</!W (#P\/
  655. XM=P\/   /!P\'< @/#P]W#P]P< ]X   /!W!P  \/=P\/                
  656. XM                            !P=P!P\/#P\/=P\/    !P=P!P\/#P\/
  657. XM=P\/    #W  <     !P=P\/    #W '< =P#W!X!P<'!P]P!W '<'@'< ]P
  658. X4!P\'#W@/#P<'<'@/< </>/__    
  659. Xend
  660. END_OF_FILE
  661.   if test 2548 -ne `wc -c <'MSDOS/bcc/tcconfig.tc.uu'`; then
  662.     echo shar: \"'MSDOS/bcc/tcconfig.tc.uu'\" unpacked with wrong size!
  663.   else 
  664.     echo shar: Uudecoding \"'MSDOS/bcc/tcconfig.tc.uu'\" 
  665.     cat MSDOS/bcc/tcconfig.tc.uu | uudecode 
  666.     if [ -f MSDOS/bcc/tcconfig.tc.uu ]; then 
  667.        rm MSDOS/bcc/tcconfig.tc.uu 
  668.     fi 
  669.   fi
  670.   # end of 'MSDOS/bcc/tcconfig.tc.uu'
  671. fi
  672. if test -f 'MSDOS/tcc/tcconfig.tc.uu' -a "${1}" != "-c" ; then 
  673.   echo shar: Will not clobber existing file \"'MSDOS/tcc/tcconfig.tc.uu'\"
  674. else
  675.   echo shar: Extracting \"'MSDOS/tcc/tcconfig.tc.uu'\" \(2370 characters\)
  676.   sed "s/^X//" >'MSDOS/tcc/tcconfig.tc.uu' <<'END_OF_FILE'
  677. Xbegin 644 MSDOS/tcc/tcconfig.tc
  678. XM5'5R8F\@0R!#;VYF:6=U<F%T:6]N($9I;&4@&@ !#1(7 1H  @$!  (    "
  679. XM  (  0 #  (  @ $  $   4  0  !@ !   (  $  0D  @    T  @ !  X 
  680. XM @   !$  0 $$@ "    $P " !D %  "  $ %0 "  $ %@ "  ( %P "    
  681. XM&  "    9  !  %E  $  68  0 !9P !  %H  $  6D  0 !:@ !  %K  $ 
  682. XM 6P  0 !;0 !  %N  $  6\  0 !<  !  %Q  $  7(  0 !<P !  %T  $ 
  683. XM 74  0 !=@ !  %W  $  7@  0 !>0 !  %Z  $  7L  0  ?  !  %]  $ 
  684. XM 7X  0 !?P !  &   $  8(  0  A  !  "%  $  <@  0  R0 !  '*  $ 
  685. XM <L  0 !S  !  '-  $  ,X  0 !SP !  #0  $ &=$  0!DT@ ! "#5  $ 
  686. XM -<  0  V  !  #9  $  =H  0 !VP !  #<  $  -T  0 !W@ !  '?  $ 
  687. XM .   0  X0 !  #B  $  2P!1                                   
  688. XM                                                         "T!
  689. XM@ !#.EQ40UQ)3D-,541%                                        
  690. XM                                                            
  691. XM                                                     "X!@ !#
  692. XM.EQ40UQ,24(                                                 
  693. XM                                                            
  694. XM                                                 "\!4 !53EI)
  695. XM4"Y04DH                                                     
  696. XM                                         # !!  S,@  ,0$% #(U
  697. XM    ,@$% #$P,   ,P%_                                        
  698. XM                                                            
  699. XM                                                            
  700. XM           T 1X *@                                      -0$>
  701. XM "H                                      #8!'@ J            
  702. XM                           W 1X *@                          
  703. XM            . $> "H                                      #D!
  704. XM'@ J                                       Z 1X *@          
  705. XM                            .P$> "H                         
  706. XM             #P!'@ J                                       ]
  707. XM 8                                                          
  708. XM                                                            
  709. XM                                                       ^ 00 
  710. XM-    #\!4   0U!)0TLN5$-0                                    
  711. XM                                                         $ !
  712. XM1 !#.EQ40P                                                  
  713. XM                                 $$!4 !53EI)4"Y#            
  714. XM                                                            
  715. X9                         /__ @ :    
  716. Xend
  717. END_OF_FILE
  718.   if test 2370 -ne `wc -c <'MSDOS/tcc/tcconfig.tc.uu'`; then
  719.     echo shar: \"'MSDOS/tcc/tcconfig.tc.uu'\" unpacked with wrong size!
  720.   else  
  721.     echo shar: Uudecoding \"'MSDOS/tcc/tcconfig.tc.uu'\"  
  722.     cat MSDOS/tcc/tcconfig.tc.uu | uudecode  
  723.     if [ -f MSDOS/tcc/tcconfig.tc.uu ]; then  
  724.        rm MSDOS/tcc/tcconfig.tc.uu  
  725.     fi  
  726.   fi
  727.   # end of 'MSDOS/tcc/tcconfig.tc.uu'
  728. fi
  729. if test -f 'MSDOS/tcc/zipinfo.prj' -a "${1}" != "-c" ; then 
  730.   echo shar: Will not clobber existing file \"'MSDOS/tcc/zipinfo.prj'\"
  731. else
  732.   echo shar: Extracting \"'MSDOS/tcc/zipinfo.prj'\" \(57 characters\)
  733.   sed "s/^X//" >'MSDOS/tcc/zipinfo.prj' <<'END_OF_FILE'
  734. Xzipinfo.c    (unzip.h)
  735. Xmatch.c        (unzip.h)
  736. Xmisc.c        (unzip.h)
  737. END_OF_FILE
  738.   if test 57 -ne `wc -c <'MSDOS/tcc/zipinfo.prj'`; then
  739.     echo shar: \"'MSDOS/tcc/zipinfo.prj'\" unpacked with wrong size!
  740.   fi
  741.   # end of 'MSDOS/tcc/zipinfo.prj'
  742. fi
  743. if test -f 'OS2/Contents' -a "${1}" != "-c" ; then 
  744.   echo shar: Will not clobber existing file \"'OS2/Contents'\"
  745. else
  746.   echo shar: Extracting \"'OS2/Contents'\" \(1614 characters\)
  747.   sed "s/^X//" >'OS2/Contents' <<'END_OF_FILE'
  748. XContents of the OS2 sub-archive for UnZip 4.2 and later:
  749. X
  750. X  Contents      this file
  751. X  dosname.c     OS/2 HPFS/FAT support routines (required)
  752. X  unzip.bad     support file for Kai Uwe Rommel's CS program (optional)
  753. X  unzip.cs      script for Kai Uwe Rommel's CS program (optional)
  754. X  unzip.def     OS/2 linker definition file (required)
  755. X  ship.def      OS/2 linker definition file (required for ship)
  756. X  zipinfo.cs    script for Kai Uwe Rommel's CS program (optional)
  757. X  zipinfo.def   OS/2 linker definition file (required for zipinfo)
  758. X  ship.dif      patch to allow ship to be compiled with IBM C Set/2 (32-bit)
  759. X
  760. XMake targets for OS/2 are provided in other makefiles.  For MSC 6.0 or later
  761. Xand NMAKE, or for IBM C Set/2, or for GNU C and Eberhard Mattes' EMX environ-
  762. Xment, use the main (Unix) Makefile and its msc_os2, ship_os2 and zi_os2 (or
  763. Xicc_os2, ship_icc and zi_icc, or gcc_os2, ship_gcc and zi_gcc, respectively)
  764. Xtargets.  For MSC 5.1 and possibly 5.0, use the makefile in the MSDOS sub-
  765. Xarchive (edit appropriately).  There is, as yet, no support for the Zortech
  766. Xcompiler, and the Borland OS/2 compiler doesn't exist yet.
  767. X
  768. XNote about the ship patch:  *only* use it for the 32-bit IBM compiler; it
  769. Xwill break under Microsoft C.  The same problem *may* occur with the IBM
  770. Xcompiler--namely, that stdin and stdout are not treated as binary file han-
  771. Xdles, with the result that piping things into and out of ship won't work 
  772. Xright.  This has to do with the reliance on fopen() to set the binary mode,
  773. Xrather than the original setmode().  (It may have been intended to use
  774. Xfdopen() for this, rather than fopen().)
  775. END_OF_FILE
  776.   if test 1614 -ne `wc -c <'OS2/Contents'`; then
  777.     echo shar: \"'OS2/Contents'\" unpacked with wrong size!
  778.   fi
  779.   # end of 'OS2/Contents'
  780. fi
  781. if test -f 'VMS/crypt/descrip.mms' -a "${1}" != "-c" ; then 
  782.   echo shar: Will not clobber existing file \"'VMS/crypt/descrip.mms'\"
  783. else
  784.   echo shar: Extracting \"'VMS/crypt/descrip.mms'\" \(2045 characters\)
  785.   sed "s/^X//" >'VMS/crypt/descrip.mms' <<'END_OF_FILE'
  786. X! =========================================================================
  787. X! MMS description file for UnZip 4.2.
  788. X! Version:  decrypt + no inflate
  789. X! =========================================================================
  790. X!
  791. X!   Original by Antonio Querubin, Jr., <querubin@uhccvx.uhcc.hawaii.edu>
  792. X!     (23 Dec 90)
  793. X!   Enhancements by Igor Mandrichenko, <mandrichenko@mx.decnet.ihep.su>
  794. X!     (9 Feb 92)
  795. X
  796. X! To build unzip that uses shared libraries,
  797. X!    mms
  798. X! (One-time users will find it easier to use the MAKE_UNZIP_VAXC.COM command
  799. X! file, which generates both unzip and zipinfo.  Just type "@MAKE_UNZIP_VAXC";
  800. X! or "@MAKE_UNZIP_GCC" if you have GNU C.)
  801. X
  802. X! To build unzip without shared libraries,
  803. X!    mms noshare
  804. X
  805. X! To delete unnecessary OBJ files,
  806. X!    mms clean
  807. X
  808. XCC = cc
  809. XCFLAGS = /def=(CRYPT)
  810. XLD = link
  811. XLDFLAGS =
  812. XEXE =
  813. XO = .obj;
  814. XOBJS = unzip$(O), crypt$(O), extract$(O), file_io$(O), mapname$(O), match$(O),\
  815. X      misc$(O), unimplod$(O), unreduce$(O), unshrink$(O), VMSmunch$(O), vms$(O)
  816. XOBJI = zipinfo$(O), misc.obj_, match$(O), VMSmunch$(O)
  817. X
  818. XLDFLAGS2 =
  819. X
  820. Xdefault    :    unzip.exe, zipinfo.exe
  821. X    @    !    Do nothing.
  822. X
  823. Xunzip.exe :    $(OBJS), vmsshare.opt
  824. X    $(LD) $(LDFLAGS) $(OBJS), \
  825. X        vmsshare.opt/options
  826. X
  827. Xzipinfo.exe :    $(OBJI), vmsshare.opt
  828. X    $(LD) $(LDFLAGS) $(OBJI), \
  829. X        vmsshare.opt/options
  830. X
  831. X
  832. Xnoshare :    $(OBJS)
  833. X    $(LD) $(LDFLAGS) $(OBJS), \
  834. X        sys$library:vaxcrtl.olb/library $(LDFLAGS2)
  835. X
  836. Xclean :
  837. X    delete $(OBJS)    ! you may want to change this to 'delete *.obj;*'
  838. X
  839. XVMSmunch$(O) :    VMSmunch.h fatdef.h fchdef.h fjndef.h
  840. Xcrypt$(O) :    crypt.c unzip.h zip.h    ! may or may not be included in distrib
  841. Xextract$(O) :    extract.c unzip.h
  842. Xfile_io$(O) :    file_io.c unzip.h
  843. X! inflate$(O) :    inflate.c unzip.h    ! may or may not be included in distrib
  844. Xmapname$(O) :    mapname.c unzip.h
  845. Xmatch$(O) :    match.c unzip.h
  846. Xmisc$(O) :    misc.c unzip.h
  847. Xunimplod$(O) :    unimplod.c unzip.h
  848. Xunreduce$(O) :    unreduce.c unzip.h
  849. Xunshrink$(O) :    unshrink.c unzip.h
  850. Xunzip$(O) :    unzip.c unzip.h fatdef.h
  851. Xvms$(O)      :    vms.c unzip.h
  852. Xmisc.obj_ :    misc.c unzip.h
  853. X    $(CC)/object=misc.obj_/define="ZIPINFO" misc.c
  854. END_OF_FILE
  855.   if test 2045 -ne `wc -c <'VMS/crypt/descrip.mms'`; then
  856.     echo shar: \"'VMS/crypt/descrip.mms'\" unpacked with wrong size!
  857.   fi
  858.   # end of 'VMS/crypt/descrip.mms'
  859. fi
  860. if test -f 'VMS/descrip.mms' -a "${1}" != "-c" ; then 
  861.   echo shar: Will not clobber existing file \"'VMS/descrip.mms'\"
  862. else
  863.   echo shar: Extracting \"'VMS/descrip.mms'\" \(2026 characters\)
  864.   sed "s/^X//" >'VMS/descrip.mms' <<'END_OF_FILE'
  865. X! =========================================================================
  866. X! MMS description file for UnZip 4.2.
  867. X! Version:  no decrypt + no inflate
  868. X! =========================================================================
  869. X!
  870. X!   Original by Antonio Querubin, Jr., <querubin@uhccvx.uhcc.hawaii.edu>
  871. X!     (23 Dec 90)
  872. X!   Enhancements by Igor Mandrichenko, <mandrichenko@mx.decnet.ihep.su>
  873. X!     (9 Feb 92)
  874. X
  875. X! To build unzip that uses shared libraries,
  876. X!    mms
  877. X! (One-time users will find it easier to use the MAKE_UNZIP_VAXC.COM command
  878. X! file, which generates both unzip and zipinfo.  Just type "@MAKE_UNZIP_VAXC";
  879. X! or "@MAKE_UNZIP_GCC" if you have GNU C.)
  880. X
  881. X! To build unzip without shared libraries,
  882. X!    mms noshare
  883. X
  884. X! To delete unnecessary OBJ files,
  885. X!    mms clean
  886. X
  887. XCC = cc
  888. XCFLAGS =
  889. XLD = link
  890. XLDFLAGS =
  891. XEXE =
  892. XO = .obj;
  893. XOBJS = unzip$(O), extract$(O), file_io$(O), mapname$(O), match$(O),\
  894. X      misc$(O), unimplod$(O), unreduce$(O), unshrink$(O), VMSmunch$(O), vms$(O)
  895. XOBJI = zipinfo$(O), misc.obj_, match$(O), VMSmunch$(O)
  896. X
  897. XLDFLAGS2 =
  898. X
  899. Xdefault    :    unzip.exe, zipinfo.exe
  900. X    @    !    Do nothing.
  901. X
  902. Xunzip.exe :    $(OBJS), vmsshare.opt
  903. X    $(LD) $(LDFLAGS) $(OBJS), \
  904. X        vmsshare.opt/options
  905. X
  906. Xzipinfo.exe :    $(OBJI), vmsshare.opt
  907. X    $(LD) $(LDFLAGS) $(OBJI), \
  908. X        vmsshare.opt/options
  909. X
  910. X
  911. Xnoshare :    $(OBJS)
  912. X    $(LD) $(LDFLAGS) $(OBJS), \
  913. X        sys$library:vaxcrtl.olb/library $(LDFLAGS2)
  914. X
  915. Xclean :
  916. X    delete $(OBJS)    ! you may want to change this to 'delete *.obj;*'
  917. X
  918. XVMSmunch$(O) :    VMSmunch.h fatdef.h fchdef.h fjndef.h
  919. X! crypt$(O) :    crypt.c unzip.h zip.h    ! may or may not be included in distrib
  920. Xextract$(O) :    extract.c unzip.h
  921. Xfile_io$(O) :    file_io.c unzip.h
  922. X! inflate$(O) :    inflate.c unzip.h    ! may or may not be included in distrib
  923. Xmapname$(O) :    mapname.c unzip.h
  924. Xmatch$(O) :    match.c unzip.h
  925. Xmisc$(O) :    misc.c unzip.h
  926. Xunimplod$(O) :    unimplod.c unzip.h
  927. Xunreduce$(O) :    unreduce.c unzip.h
  928. Xunshrink$(O) :    unshrink.c unzip.h
  929. Xunzip$(O) :    unzip.c unzip.h fatdef.h
  930. Xvms$(O)      :    vms.c unzip.h
  931. Xmisc.obj_ :    misc.c unzip.h
  932. X    $(CC)/object=misc.obj_/define="ZIPINFO" misc.c
  933. END_OF_FILE
  934.   if test 2026 -ne `wc -c <'VMS/descrip.mms'`; then
  935.     echo shar: \"'VMS/descrip.mms'\" unpacked with wrong size!
  936.   fi
  937.   # end of 'VMS/descrip.mms'
  938. fi
  939. if test -f 'VMS/fatdef.h' -a "${1}" != "-c" ; then 
  940.   echo shar: Will not clobber existing file \"'VMS/fatdef.h'\"
  941. else
  942.   echo shar: Extracting \"'VMS/fatdef.h'\" \(2069 characters\)
  943.   sed "s/^X//" >'VMS/fatdef.h' <<'END_OF_FILE'
  944. X/* This header file was created by Joe Meadows, and is not copyrighted
  945. X   in any way. No guarantee is made as to the accuracy of the contents
  946. X   of this header file. This header file was last modified on Sep. 22th,
  947. X   1987. (Modified to include this statement) */
  948. X#define FAT$K_LENGTH 32
  949. X#define FAT$C_LENGTH 32
  950. X#define FAT$S_FATDEF 32
  951. X
  952. Xstruct fatdef {
  953. X  union  {
  954. X    unsigned char fat$b_rtype;
  955. X    struct  {
  956. X      unsigned fat$v_rtype : 4;
  957. X      unsigned fat$v_fileorg : 4;
  958. X    } fat$r_rtype_bits;
  959. X  } fat$r_rtype_overlay;
  960. X# define FAT$S_RTYPE 4
  961. X# define FAT$V_RTYPE 0
  962. X#   define FAT$C_UNDEFINED 0
  963. X#   define FAT$C_FIXED 1
  964. X#   define FAT$C_VARIABLE 2
  965. X#   define FAT$C_VFC 3
  966. X#   define FAT$C_STREAM 4
  967. X#   define FAT$C_STREAMLF 5
  968. X#   define FAT$C_STREAMCR 6
  969. X# define FAT$S_FILEORG 4
  970. X# define FAT$V_FILEORG 4
  971. X#   define FAT$C_SEQUENTIAL 0
  972. X#   define FAT$C_RELATIVE 1
  973. X#   define FAT$C_INDEXED 2
  974. X#   define FAT$C_DIRECT 3
  975. X  union  {
  976. X    unsigned char fat$b_rattrib;
  977. X    struct  {
  978. X      unsigned fat$v_fortrancc : 1;
  979. X      unsigned fat$v_impliedcc : 1;
  980. X      unsigned fat$v_printcc : 1;
  981. X      unsigned fat$v_nospan : 1;
  982. X    } fat$r_rattrib_bits;
  983. X  } fat$r_rattrib_overlay;
  984. X#   define FAT$V_FORTRANCC 0
  985. X#   define FAT$M_FORTRANCC 1
  986. X#   define FAT$V_IMPLIEDCC 1
  987. X#   define FAT$M_IMPLIEDCC 2
  988. X#   define FAT$V_PRINTCC 2
  989. X#   define FAT$M_PRINTCC 4
  990. X#   define FAT$V_NOSPAN 3
  991. X#   define FAT$M_NOSPAN 8
  992. X  unsigned short int fat$w_rsize;
  993. X  union
  994. X  {
  995. X    unsigned long int fat$l_hiblk;
  996. X    struct
  997. X    {
  998. X      unsigned short int fat$w_hiblkh;
  999. X      unsigned short int fat$w_hiblkl;
  1000. X    } fat$r_hiblk_fields;
  1001. X  } fat$r_hiblk_overlay;
  1002. X  union
  1003. X  {
  1004. X    unsigned long int fat$l_efblk;
  1005. X    struct
  1006. X    {
  1007. X      unsigned short int fat$w_efblkh;
  1008. X      unsigned short int fat$w_efblkl;
  1009. X    } fat$r_efblk_fields;
  1010. X  } fat$r_efblk_overlay;
  1011. X  unsigned short int fat$w_ffbyte;
  1012. X  unsigned char fat$b_bktsize;
  1013. X  unsigned char fat$b_vfcsize;
  1014. X  unsigned short int fat$w_maxrec;
  1015. X  unsigned short int fat$w_defext;
  1016. X  unsigned short int fat$w_gbc;
  1017. X  char fat$fill[8];
  1018. X  unsigned short int fat$w_versions;
  1019. X};
  1020. END_OF_FILE
  1021.   if test 2069 -ne `wc -c <'VMS/fatdef.h'`; then
  1022.     echo shar: \"'VMS/fatdef.h'\" unpacked with wrong size!
  1023.   fi
  1024.   # end of 'VMS/fatdef.h'
  1025. fi
  1026. if test -f 'VMS/fchdef.h' -a "${1}" != "-c" ; then 
  1027.   echo shar: Will not clobber existing file \"'VMS/fchdef.h'\"
  1028. else
  1029.   echo shar: Extracting \"'VMS/fchdef.h'\" \(1746 characters\)
  1030.   sed "s/^X//" >'VMS/fchdef.h' <<'END_OF_FILE'
  1031. X/* This header file was created by Joe Meadows, and is not copyrighted
  1032. X   in any way. No guarantee is made as to the accuracy of the contents
  1033. X   of this header file. This header file was last modified on Sep. 22th,
  1034. X   1987. (Modified to include this statement) */
  1035. X
  1036. X#define FCH$V_BADACL 0x00B
  1037. X#define FCH$M_BADACL (1 << FCH$V_ACL)
  1038. X#define FCH$V_BADBLOCK 0x00E
  1039. X#define FCH$M_BADBLOCK (1 << FCH$V_BADBLOCK)
  1040. X#define FCH$V_CONTIG 0x007
  1041. X#define FCH$M_CONTIG (1 << FCH$V_CONTIG)
  1042. X#define FCH$V_CONTIGB 0x005
  1043. X#define FCH$M_CONTIGB (1 << FCH$V_CONTIGB)
  1044. X#define FCH$V_DIRECTORY 0x00D
  1045. X#define FCH$M_DIRECTORY (1 << FCH$V_DIRECTORY)
  1046. X#define FCH$V_ERASE 0x011
  1047. X#define FCH$M_ERASE (1 << FCH$V_ERASE)
  1048. X#define FCH$V_LOCKED 0x006
  1049. X#define FCH$M_LOCKED (1 << FCH$V_LOCKED)
  1050. X#define FCH$V_MARKDEL 0x00F
  1051. X#define FCH$M_MARKDEL (1 << FCH$V_MARKDEL)
  1052. X#define FCH$V_NOBACKUP 0x001
  1053. X#define FCH$M_NOBACKUP (1 << FCH$V_NOBACKUP)
  1054. X#define FCH$V_NOCHARGE 0x010
  1055. X#define FCH$M_NOCHARGE (1 << FCH$V_NOCHARGE)
  1056. X#define FCH$V_READCHECK 0x003
  1057. X#define FCH$M_READCHECK (1 << FCH$V_READCHECK)
  1058. X#define FCH$V_SPOOL 0x00C
  1059. X#define FCH$M_SPOOL (1 << FCH$V_SPOOL)
  1060. X#define FCH$V_WRITCHECK 0x004
  1061. X#define FCH$M_WRITCHECK (1 << FCH$V_WRITCHECK)
  1062. X#define FCH$V_WRITEBACK 0x002
  1063. X#define FCH$M_WRITEBACK (1 << FCH$V_WRITEBACK)
  1064. X
  1065. Xstruct fchdef  {
  1066. X  unsigned : 1;
  1067. X  unsigned fch$v_nobackup : 1 ;
  1068. X  unsigned fch$v_writeback : 1;
  1069. X  unsigned fch$v_readcheck : 1;
  1070. X  unsigned fch$v_writcheck : 1;
  1071. X  unsigned fch$v_contigb : 1;
  1072. X  unsigned fch$v_locked : 1;
  1073. X  unsigned fch$v_contig : 1;
  1074. X  unsigned : 3;
  1075. X  unsigned fch$v_badacl : 1;
  1076. X  unsigned fch$v_spool : 1;
  1077. X  unsigned fch$v_directory : 1;
  1078. X  unsigned fch$v_badblock : 1;
  1079. X  unsigned fch$v_markdel : 1;
  1080. X  unsigned fch$v_nocharge : 1;
  1081. X  unsigned fch$v_erase : 1;
  1082. X};
  1083. END_OF_FILE
  1084.   if test 1746 -ne `wc -c <'VMS/fchdef.h'`; then
  1085.     echo shar: \"'VMS/fchdef.h'\" unpacked with wrong size!
  1086.   fi
  1087.   # end of 'VMS/fchdef.h'
  1088. fi
  1089. if test -f 'VMS/unzip.rnh' -a "${1}" != "-c" ; then 
  1090.   echo shar: Will not clobber existing file \"'VMS/unzip.rnh'\"
  1091. else
  1092.   echo shar: Extracting \"'VMS/unzip.rnh'\" \(3749 characters\)
  1093.   sed "s/^X//" >'VMS/unzip.rnh' <<'END_OF_FILE'
  1094. X.!
  1095. X.!  File:    UNZIP.RNH
  1096. X.!
  1097. X.!  Author:    Hunter Goatley
  1098. X.!
  1099. X.!  Date:    October 23, 1991
  1100. X.!
  1101. X.!  Description:
  1102. X.!
  1103. X.!    RUNOFF source file for portable UNZIP on-line help for VMS.
  1104. X.!    Adapted from UNZIP.MAN, distributed with UNZIP.
  1105. X.!
  1106. X.!    To build:    $ RUNOFF UNZIP.RNH
  1107. X.!            $ LIBR/HELP/INSERT libr UNZIP
  1108. X.!
  1109. X.!  Modification history:
  1110. X.!
  1111. X.!    01-001        Hunter Goatley        23-OCT-1991 09:21
  1112. X.!        Genesis.
  1113. X.!    01-002        Cave Newt        16-MAR-1992 22:37
  1114. X.!        Update for UnZip 4.2.
  1115. X.!
  1116. X.noflags
  1117. X.lm4 .rm72
  1118. X.indent -4
  1119. X1 UNZIP
  1120. X.br
  1121. XUnZip is used to extract files compressed and packaged by Zip (see HELP ZIP
  1122. Xfor information on ZIP).
  1123. X.sk
  1124. XFor a brief help on Zip and Unzip, run each without specifying any
  1125. Xparameters on the command line.
  1126. X.sk
  1127. XUNZIP will list, test, or extract from a ZIP archive.  ZIP archives are commonly
  1128. Xfound on MS-DOS systems; a VMS version of ZIP can also be found here.
  1129. X.sk
  1130. XArchive member extraction is implied by the absence of the -c, -p, -t, -l, -v or
  1131. X-z options.  All archive members are processed unless a filespec is provided to
  1132. Xspecify a subset of the archive members.  The filespec is similar to an egrep
  1133. Xexpression, and may contain:
  1134. X.sk
  1135. X.literal
  1136. X     *       matches a sequence of 0 or more characters
  1137. X     ?       matches exactly 1 character
  1138. X     \nnn    matches the character having octal code nnn
  1139. X     [...]   matches any single character found inside the brackets;
  1140. X             ranges are specified by a beginning character,
  1141. X             a hyphen, and an ending character.  If a '!' follows
  1142. X             the left bracket, then the range of characters
  1143. X             matched is complemented with respect to the ASCII
  1144. X             character set.
  1145. X.end literal
  1146. X.sk
  1147. XFormat:
  1148. X.sk;.lm+1;.literal
  1149. XUNZIP [-cflptuvxz[ajnoqUV]] file[.zip] [filespec...]
  1150. X.end literal;.lm-1
  1151. X.!------------------------------------------------------------------------------
  1152. X.indent -4
  1153. X2 Parameters
  1154. X.sk;.indent -4
  1155. Xfile[.zip]
  1156. X.sk
  1157. XFile specification for the ZIP archive.  The suffix .ZIP is applied if the
  1158. Xspecified file does not exist.  Note that self-extracting ZIP files are
  1159. Xsupported; just specify the .EXE suffix yourself.
  1160. X.sk;.indent -4
  1161. X[filespec]
  1162. X.sk
  1163. XAn optional list of archive members to be processed.  Expressions may be
  1164. Xused to match multiple members.  Expressions should be enclosed in double-quotes
  1165. Xto prevent interpretation by DCL.  Multiple filenames should be separated by
  1166. Xblanks.
  1167. X.!------------------------------------------------------------------------------
  1168. X.indent -4
  1169. X2 Options
  1170. X.br
  1171. XThe default action of UnZip is to extract all zipfile entries.  The following
  1172. Xoptions and modifiers can be provided:
  1173. X.sk;.literal
  1174. X   -c   extract files to SYS$OUTPUT (terminal)
  1175. X   -f   freshen existing files (replace if newer); create none
  1176. X   -l   list archive files (short format)
  1177. X   -p   extract files to SYS$OUTPUT; no informational messages
  1178. X   -t   test archive files
  1179. X   -u   update existing files; create new ones if needed
  1180. X   -v   list archive files (verbose format)
  1181. X   -x   extract files in archive (default)
  1182. X   -z   display only the archive comment
  1183. X.end literal;.sk;.literal
  1184. X MODIFIERS
  1185. X   -a   convert to VMS textfile format (only use for TEXT files!)
  1186. X   -j   junk paths (don't recreate archive's directory structure)
  1187. X   -n   never overwrite existing files; don't prompt
  1188. X   -o   OK to overwrite files without prompting
  1189. X   -q   perform operations quietly (-qq => even quieter)
  1190. X   -U   leave filenames uppercase if created under MS-DOS, VMS, etc.
  1191. X   -V   retain (VMS) file version numbers
  1192. X   -X   restore owner/protection info (may require privileges)
  1193. X.end literal
  1194. X.!-----------------------------------------------------------------------------
  1195. X.indent -4
  1196. X2 Authors
  1197. X.br
  1198. XSamuel H. Smith, Usenet contributors, and Info-ZIP.
  1199. X.sk
  1200. XVMS on-line help ported from UNZIP.MAN by Hunter Goatley.
  1201. END_OF_FILE
  1202.   if test 3749 -ne `wc -c <'VMS/unzip.rnh'`; then
  1203.     echo shar: \"'VMS/unzip.rnh'\" unpacked with wrong size!
  1204.   fi
  1205.   # end of 'VMS/unzip.rnh'
  1206. fi
  1207. if test -f 'unzip.1' -a "${1}" != "-c" ; then 
  1208.   echo shar: Will not clobber existing file \"'unzip.1'\"
  1209. else
  1210.   echo shar: Extracting \"'unzip.1'\" \(2958 characters\)
  1211.   sed "s/^X//" >'unzip.1' <<'END_OF_FILE'
  1212. X.TH unzip 1 "UnZip version 4.2"
  1213. X.SH NAME
  1214. Xunzip - list/test/extract from a ZIP archive file
  1215. X.SH SYNOPSIS
  1216. Xunzip [ -cflptuvxz[ajnoqUV] ] file[.zip] [filespec...]
  1217. X.SH ARGUMENTS
  1218. X.in +12
  1219. X.ti -12
  1220. Xfile[.zip]  Path of the ZIP archive.  The suffix ``.zip'' is applied
  1221. Xif the file specified does not exist.  Note that
  1222. Xself-extracting ZIP files are supported; just specify
  1223. Xthe ``.exe'' suffix yourself.
  1224. X.sp 1
  1225. X.ti -12
  1226. X[filespec]  An optional list of archive members to be processed.
  1227. XExpressions may be used to match multiple members; be sure to quote
  1228. Xexpressions that contain characters interpreted by the operating
  1229. Xsystem. See DESCRIPTION (below) for more details.
  1230. X.SH OPTIONS
  1231. X.nf
  1232. X-c   extract files to stdout/screen (``CRT'')
  1233. X-f   freshen existing files (replace if newer); create none
  1234. X-l   list archive files (short format)
  1235. X-p   extract files to pipe; no informational messages
  1236. X-t   test archive files
  1237. X-u   update existing files; create new ones if needed
  1238. X-v   list archive files (verbose format)
  1239. X-x   extract files in archive (default)
  1240. X-z   display only the archive comment
  1241. X.fi
  1242. X.SH MODIFIERS
  1243. X.nf
  1244. X-a   convert to MS-DOS textfile format (CR LF), Mac format (CR),
  1245. X       Unix/VMS format (LF), OR from ASCII to EBCDIC, depending on 
  1246. X       your system (only use for TEXT files!)
  1247. X-j   junk paths (don't recreate archive's directory structure)
  1248. X-n   never overwrite existing files; don't prompt
  1249. X-o   OK to overwrite files without prompting
  1250. X-q   perform operations quietly (-qq => even quieter)
  1251. X-s   [OS/2, MS-DOS] allow spaces in filenames (e.g., "EA DATA. SF")
  1252. X-U   leave filenames uppercase if created under MS-DOS, VMS, etc.
  1253. X-V   retain (VMS) file version numbers
  1254. X-X   [VMS] restore owner/protection info (may require privileges)
  1255. X.fi
  1256. X.SH DESCRIPTION
  1257. X.B unzip
  1258. Xwill list, test, or extract from a ZIP archive, commonly found on MSDOS
  1259. Xsystems.
  1260. XArchive member extraction is implied by the absence of the -c, -p, -t, 
  1261. X-l, -v or -z options.  All archive members are processed unless a
  1262. X.B filespec
  1263. Xis provided to specify a subset of the archive members.
  1264. XThe
  1265. X.B filespec
  1266. Xis similar to an egrep expression, and may contain:
  1267. X.sp 1
  1268. X.in +8
  1269. X.ti -8
  1270. X*       matches a sequence of 0 or more characters
  1271. X.ti -8
  1272. X?       matches exactly 1 character
  1273. X.ti -8
  1274. X\\nnn    matches the character having octal code nnn
  1275. X.ti -8
  1276. X[...]   matches any single character found inside the brackets; ranges
  1277. Xare specified by a beginning character, a hyphen, and an ending
  1278. Xcharacter.  If a '!' follows the left bracket, then the range
  1279. Xof characters matched is complemented with respect to the ASCII
  1280. Xcharacter set.
  1281. X.SH VERSIONS
  1282. X.nf
  1283. Xv1.2   3/15/89    Samuel H. Smith
  1284. Xv2.0   9/9/89     Samuel H. Smith
  1285. Xv2.x   fall 1989  many Usenet contributors
  1286. Xv3.0   5/1/90     Info-ZIP workgroup (David Kirschbaum, consolidator)
  1287. Xv3.1   8/15/90    Info-ZIP
  1288. Xv4.0   12/1/90    Info-ZIP
  1289. Xv4.1   5/12/91    Info-ZIP
  1290. Xv4.2   3/20/92    Info-ZIP (zip-bugs subgroup)
  1291. Xv5.0   ~4/92      Info-ZIP (zip-bugs subgroup) [will have deflation!]
  1292. X.fi
  1293. END_OF_FILE
  1294.   if test 2958 -ne `wc -c <'unzip.1'`; then
  1295.     echo shar: \"'unzip.1'\" unpacked with wrong size!
  1296.   fi
  1297.   # end of 'unzip.1'
  1298. fi
  1299. if test -f 'unzip.man' -a "${1}" != "-c" ; then 
  1300.   echo shar: Will not clobber existing file \"'unzip.man'\"
  1301. else
  1302.   echo shar: Extracting \"'unzip.man'\" \(3627 characters\)
  1303.   sed "s/^X//" >'unzip.man' <<'END_OF_FILE'
  1304. X
  1305. X
  1306. X
  1307. Xunzip(1)                 USER COMMANDS                   unzip(1)
  1308. X
  1309. X
  1310. X
  1311. XNAME
  1312. X     unzip - list/test/extract from a ZIP archive file
  1313. X
  1314. XSYNOPSIS
  1315. X     unzip [ -cflptuvxz[ajnoqUV] ] file[.zip] [filespec...]
  1316. X
  1317. XARGUMENTS
  1318. X     file[.zip]  Path of the ZIP archive.  The suffix ``.zip'' is
  1319. X                 applied  if  the  file specified does not exist.
  1320. X                 Note that self-extracting  ZIP  files  are  sup-
  1321. X                 ported;  just  specify the ``.exe'' suffix your-
  1322. X                 self.
  1323. X
  1324. X     [filespec]  An optional list of archive members to  be  pro-
  1325. X                 cessed.  Expressions may be used to match multi-
  1326. X                 ple members; be sure to quote  expressions  that
  1327. X                 contain  characters interpreted by the operating
  1328. X                 system.  See  DESCRIPTION   (below)   for   more
  1329. X                 details.
  1330. X
  1331. XOPTIONS
  1332. X     -c   extract files to stdout/screen (``CRT'')
  1333. X     -f   freshen existing files (replace if newer); create none
  1334. X     -l   list archive files (short format)
  1335. X     -p   extract files to pipe; no informational messages
  1336. X     -t   test archive files
  1337. X     -u   update existing files; create new ones if needed
  1338. X     -v   list archive files (verbose format)
  1339. X     -x   extract files in archive (default)
  1340. X     -z   display only the archive comment
  1341. X
  1342. XMODIFIERS
  1343. X     -a   convert to MS-DOS textfile format (CR LF), Mac format (CR),
  1344. X            Unix/VMS format (LF), OR from ASCII to EBCDIC, depending on
  1345. X            your system (only use for TEXT files!)
  1346. X     -j   junk paths (don't recreate archive's directory structure)
  1347. X     -n   never overwrite existing files; don't prompt
  1348. X     -o   OK to overwrite files without prompting
  1349. X     -q   perform operations quietly (-qq => even quieter)
  1350. X     -s   [OS/2, MS-DOS] allow spaces in filenames (e.g., "EA DATA. SF")
  1351. X     -U   leave filenames uppercase if created under MS-DOS, VMS, etc.
  1352. X     -V   retain (VMS) file version numbers
  1353. X     -X   [VMS] restore owner/protection info (may require privileges)
  1354. X
  1355. XDESCRIPTION
  1356. X     unzip will list, test, or extract from a ZIP  archive,  com-
  1357. X     monly  found on MSDOS systems.  Archive member extraction is
  1358. X     implied by the absence of the -c,  -p,  -t,  -l,  -v  or  -z
  1359. X     options.    All  archive  members  are  processed  unless  a
  1360. X     filespec is provided to specify  a  subset  of  the  archive
  1361. X     members.   The  filespec  is similar to an egrep expression,
  1362. X     and may contain:
  1363. X
  1364. X
  1365. X
  1366. X                           UnZip version 4.2                    1
  1367. X
  1368. X
  1369. X
  1370. X
  1371. X
  1372. X
  1373. Xunzip(1)                 USER COMMANDS                   unzip(1)
  1374. X
  1375. X
  1376. X
  1377. X     *       matches a sequence of 0 or more characters
  1378. X     ?       matches exactly 1 character
  1379. X     \nnn    matches the character having octal code nnn
  1380. X     [...]   matches any single character found inside the brack-
  1381. X             ets;  ranges are specified by a beginning character,
  1382. X             a hyphen, and an ending character.  If a '!' follows
  1383. X             the  left  bracket,  then  the  range  of characters
  1384. X             matched is complemented with respect  to  the  ASCII
  1385. X             character set.
  1386. X
  1387. XVERSIONS
  1388. X     v1.2   3/15/89    Samuel H. Smith
  1389. X     v2.0   9/9/89     Samuel H. Smith
  1390. X     v2.x   fall 1989  many Usenet contributors
  1391. X     v3.0   5/1/90     Info-ZIP workgroup (David Kirschbaum, consolidator)
  1392. X     v3.1   8/15/90    Info-ZIP
  1393. X     v4.0   12/1/90    Info-ZIP
  1394. X     v4.1   5/12/91    Info-ZIP
  1395. X     v4.2   3/20/92    Info-ZIP (zip-bugs subgroup)
  1396. X     v5.0   ~4/92      Info-ZIP (zip-bugs subgroup) [will have deflation!]
  1397. X
  1398. X
  1399. X
  1400. X
  1401. X
  1402. X
  1403. X
  1404. X
  1405. X
  1406. X
  1407. X
  1408. X
  1409. X
  1410. X
  1411. X
  1412. X
  1413. X
  1414. X
  1415. X
  1416. X
  1417. X
  1418. X
  1419. X
  1420. X
  1421. X
  1422. X
  1423. X
  1424. X
  1425. X
  1426. X
  1427. X
  1428. X
  1429. X
  1430. X
  1431. X
  1432. X                           UnZip version 4.2                    2
  1433. X
  1434. X
  1435. X
  1436. END_OF_FILE
  1437.   if test 3627 -ne `wc -c <'unzip.man'`; then
  1438.     echo shar: \"'unzip.man'\" unpacked with wrong size!
  1439.   fi
  1440.   # end of 'unzip.man'
  1441. fi
  1442. echo shar: End of archive 11 \(of 12\).
  1443. cp /dev/null ark11isdone
  1444. MISSING=""
  1445. for I in 1 2 3 4 5 6 7 8 9 10 11 12 ; do
  1446.     if test ! -f ark${I}isdone ; then
  1447.     MISSING="${MISSING} ${I}"
  1448.     fi
  1449. done
  1450. if test "${MISSING}" = "" ; then
  1451.     echo You have unpacked all 12 archives.
  1452.     rm -f ark[1-9]isdone ark[1-9][0-9]isdone
  1453. else
  1454.     echo You still must unpack the following archives:
  1455.     echo "        " ${MISSING}
  1456. fi
  1457. exit 0
  1458.  
  1459.  
  1460. exit 0 # Just in case...
  1461.