home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #19 / NN_1992_19.iso / spool / comp / sources / misc / 3866 < prev    next >
Encoding:
Text File  |  1992-08-23  |  61.0 KB  |  1,641 lines

  1. Newsgroups: comp.sources.misc
  2. Path: sparky!kent
  3. From: zip-bugs@cs.ucla.edu (Info-ZIP group)
  4. Subject:  v31i116:  unzip50 - Info-ZIP portable UnZip, version 5.0, Part13/14
  5. Message-ID: <1992Aug24.025836.25347@sparky.imd.sterling.com>
  6. Followup-To: comp.sources.d
  7. X-Md4-Signature: 1b341038a370ce875fb7bde5b4220895
  8. Sender: kent@sparky.imd.sterling.com (Kent Landfield)
  9. Organization: Sterling Software
  10. References: <csm-v31i104=unzip50.215137@sparky.IMD.Sterling.COM>
  11. Date: Mon, 24 Aug 1992 02:58:36 GMT
  12. Approved: kent@sparky.imd.sterling.com
  13. Lines: 1626
  14.  
  15. Submitted-by: zip-bugs@cs.ucla.edu (Info-ZIP group)
  16. Posting-number: Volume 31, Issue 116
  17. Archive-name: unzip50/part13
  18. Supersedes: unzip: Volume 29, Issue 31-42
  19. Environment: UNIX, VMS, OS/2, MS-DOS, MACINTOSH, WIN-NT, LINUX, MINIX, COHERENT AMIGA?, !ATARI, symlink, SGI, DEC, Cray, Convex, Amdahl, Sun
  20.  
  21. #! /bin/sh
  22. # This is a shell archive.  Remove anything before this line, then feed it
  23. # into a shell via "sh file" or similar.  To overwrite existing files,
  24. # type "sh file -c".
  25. # The tool that generated this appeared in the comp.sources.unix newsgroup;
  26. # send mail to comp-sources-unix@uunet.uu.net if you want that tool.
  27. # Contents:  AMIGA/Contents AMIGA/DMakefile AMIGA/lmkfile
  28. #   AMIGA/patch.pw AMIGA/readme.pw ATARI/Contents.UU
  29. #   ATARI/Makefile.st.UU ATARI/makeit.UU ATARI/unzip.lnk.UU
  30. #   MAC/mpw.make.UU MAC/thinkc.rsrc.hqx MSDOS/Contents
  31. #   MSDOS/bcc/tcconfig.tc.UU MSDOS/makefile.bcc MSDOS/makefile.qc
  32. #   MSDOS/tcc/unzip.tc.UU MSDOS/tcc/unzip_cr.prj
  33. #   MSDOS/tcc/unzip_cr.tc.UU MSDOS/tcc/zi_make.bat
  34. #   MSDOS/tcc/zipinfo.tc.UU NT/makefile.nt VMS/Contents
  35. #   VMS/bilf/make_bilf.com VMS/descrip.mms VMS/make_gcc_unzip.com
  36. #   VMS/make_vaxc_unzip.com VMS/makefile funzip.1 funzip.doc
  37. # Wrapped by kent@sparky on Sun Aug 23 21:09:36 1992
  38. PATH=/bin:/usr/bin:/usr/ucb ; export PATH
  39. echo If this archive is complete, you will see the following message:
  40. echo '          "shar: End of archive 13 (of 14)."'
  41. if test -f 'AMIGA/Contents' -a "${1}" != "-c" ; then 
  42.   echo shar: Will not clobber existing file \"'AMIGA/Contents'\"
  43. else
  44.   echo shar: Extracting \"'AMIGA/Contents'\" \(1150 characters\)
  45.   sed "s/^X//" >'AMIGA/Contents' <<'END_OF_FILE'
  46. XContents of the AMIGA sub-archive for UnZip 5.0 and later:
  47. X
  48. X  Contents      this file
  49. X  DMakefile     DICE compiler makefile for UnZip
  50. X  lmkfile       SAS/C makefile for UnZip
  51. X  patch.pw      Paul Wells _TZ patch, subsequently modified (see below)
  52. X  readme.pw     Paul Wells comments
  53. X  stat.c        stat() function for Paul Wells port
  54. X  utime.c       utime() function for Paul Wells port
  55. X
  56. XNotes:  Paul Wells' original Amiga port for SAS/C and Lattice C (I think)
  57. Xwas subsequently modified for another compiler (probably DICE by Georg
  58. XSassen), and possibly no longer compiles under the original compilers.
  59. XThe suspect code is in file_io.c and has to do with Paul's _TZ code, which
  60. Xis presently commented out and replaced by a specialized SetFileDate call.
  61. XThe file patch.pw will give you some idea of how the code originally looked.
  62. XPresumably all three compilers have predefined macros which identify them,
  63. Xso there need not be any conflict; but there may be one at the moment.
  64. X
  65. XNote also that the DICE compiler version does not require either of the
  66. Xtwo source files included here, and that none of the Amiga stuff has been
  67. Xtested since UnZip 4.1.
  68. END_OF_FILE
  69.   if test 1150 -ne `wc -c <'AMIGA/Contents'`; then
  70.     echo shar: \"'AMIGA/Contents'\" unpacked with wrong size!
  71.   fi
  72.   # end of 'AMIGA/Contents'
  73. fi
  74. if test -f 'AMIGA/DMakefile' -a "${1}" != "-c" ; then 
  75.   echo shar: Will not clobber existing file \"'AMIGA/DMakefile'\"
  76. else
  77.   echo shar: Extracting \"'AMIGA/DMakefile'\" \(854 characters\)
  78.   sed "s/^X//" >'AMIGA/DMakefile' <<'END_OF_FILE'
  79. X# DMakefile for UnZip 5.x with Amiga DICE compiler                 24 June 1992
  80. X#
  81. X# Not tested since v4.1.  Edit directories as required.
  82. X#
  83. X#Georg Sassen, D-5100 Aachen,+49-241-875158 subnet: georg@bluemoon.tunix.sub.org
  84. X#georg@bluemoon.GUN.de, georg@cip-s01.informatik.rwth-aachen.de, 2:242/7.11@fido
  85. X
  86. XCRYPTF =
  87. XCRYPTC =
  88. X# Uncomment following two lines for decryption version:
  89. X#CRYPTF = -DCRYPT
  90. X#CRYPTC = crypt.c
  91. X
  92. XEXE = DH0:bin/unzip
  93. XOD  = dtmp:unzip/
  94. XSRC1 = unzip.c $(CRYPTC) envargs.c explode.c extract.c file_io.c inflate.c
  95. XSRC2 = mapname.c match.c misc.c unreduce.c unshrink.c
  96. XSRCS = $(SRC1) $(SRC2)
  97. XCFLAGS = -mD $(CRYPTF)
  98. XOBJS = $(SRCS:"*.c":"$(OD)*.o") $(SRCS:"*.a":"$(OD)*.o")
  99. X
  100. Xall : $(EXE)
  101. X
  102. X$(OBJS) : $(SRCS) unzip.h zip.h
  103. X    dcc $(CFLAGS) -c -o %(left) %(right)
  104. X
  105. X$(EXE) : $(OBJS)
  106. X    dcc $(CFLAGS) -o %(left) %(right)
  107. X
  108. Xclean:
  109. X    rm -v $(OBJS)
  110. END_OF_FILE
  111.   if test 854 -ne `wc -c <'AMIGA/DMakefile'`; then
  112.     echo shar: \"'AMIGA/DMakefile'\" unpacked with wrong size!
  113.   fi
  114.   # end of 'AMIGA/DMakefile'
  115. fi
  116. if test -f 'AMIGA/lmkfile' -a "${1}" != "-c" ; then 
  117.   echo shar: Will not clobber existing file \"'AMIGA/lmkfile'\"
  118. else
  119.   echo shar: Extracting \"'AMIGA/lmkfile'\" \(1502 characters\)
  120.   sed "s/^X//" >'AMIGA/lmkfile' <<'END_OF_FILE'
  121. X# Makefile for UnZip 5.x using SAS/C 5.10a                       24 June 1992
  122. X#
  123. X# Not tested since UnZip 4.1.  May need to change directory names for stat.c
  124. X# and utime.c.
  125. X
  126. X#####################
  127. X# MACRO DEFINITIONS #
  128. X#####################
  129. X
  130. XCRYPTF =
  131. XCRYPTO =
  132. X# Uncomment following two lines for decryption version:
  133. X#CRYPTF = -DCRYPT
  134. X#CRYPTO = crypt.o
  135. X
  136. XCC = lc
  137. XCFLAGS = -O -DUNIX $(CRYPTF) -v -m0t -cuaisfr -rr
  138. XLD = blink
  139. XLDFLAGS = TO unzip FROM LIB:c.o
  140. XLDFLAGS2 = LIB LIB:lc.lib LIB:amiga.lib
  141. XEXE =
  142. XO = .o
  143. XOBJS = unzip$O $(CRYPTO) envargs$O explode$O extract$O file_io$O inflate$O\
  144. X       mapname$O match$O misc$O unreduce$O unshrink$O utime$O stat$O
  145. X
  146. X###############################################
  147. X# BASIC COMPILE INSTRUCTIONS AND DEPENDENCIES #
  148. X###############################################
  149. X
  150. X.c$O :
  151. X        $(CC) -o$@ $(CFLAGS) $*.c
  152. X
  153. Xunzip$(EXE):    $(OBJS)
  154. X        $(LD) $(LDFLAGS) $(OBJS) $(LDFLAGS2)
  155. X
  156. Xcrypt$O:        crypt.c unzip.h zip.h    # may or may not be in distribution
  157. Xenvargs$O:      envargs.c unzip.h
  158. Xexplode$O:      explode.c unzip.h
  159. Xextract$O:      extract.c unzip.h
  160. Xfile_io$O:      file_io.c unzip.h
  161. Xinflate$O:      inflate.c unzip.h
  162. Xmapname$O:      mapname.c unzip.h
  163. Xmatch$O:        match.c unzip.h
  164. Xmisc$O:         misc.c unzip.h
  165. Xunreduce$O:     unreduce.c unzip.h
  166. Xunshrink$O:     unshrink.c unzip.h
  167. Xunzip$O:        unzip.c unzip.h
  168. Xstat$O:         amiga/stat.c    # may need to change or remove directory name
  169. Xutime$O:        amiga/utime.c    # may need to change or remove directory name
  170. END_OF_FILE
  171.   if test 1502 -ne `wc -c <'AMIGA/lmkfile'`; then
  172.     echo shar: \"'AMIGA/lmkfile'\" unpacked with wrong size!
  173.   fi
  174.   # end of 'AMIGA/lmkfile'
  175. fi
  176. if test -f 'AMIGA/patch.pw' -a "${1}" != "-c" ; then 
  177.   echo shar: Will not clobber existing file \"'AMIGA/patch.pw'\"
  178. else
  179.   echo shar: Extracting \"'AMIGA/patch.pw'\" \(786 characters\)
  180.   sed "s/^X//" >'AMIGA/patch.pw' <<'END_OF_FILE'
  181. X*** v41/file_io.c Mon May 20 22:01:51 1991
  182. X--- v41a/file_io.c Mon May 20 22:53:32 1991
  183. X***************
  184. X*** 719,727 ****
  185. X  #ifdef BSD
  186. X      static struct timeb tbp;
  187. X  #else
  188. X      extern long timezone;
  189. X  #endif
  190. X! 
  191. X  
  192. X      close(outfd);
  193. X  
  194. X--- 720,731 ----
  195. X  #ifdef BSD
  196. X      static struct timeb tbp;
  197. X  #else
  198. X+ #ifdef AMIGA
  199. X+     extern char *_TZ;
  200. X+ #else
  201. X      extern long timezone;
  202. X  #endif
  203. X! #endif
  204. X  
  205. X      close(outfd);
  206. X  
  207. X***************
  208. X*** 794,799 ****
  209. X--- 798,806 ----
  210. X     ftime(&tbp);
  211. X     m_time += tbp.timezone * 60L;
  212. X  #else                                   /* !BSD */
  213. X+ #ifdef AMIGA
  214. X+     _TZ = getenv("TZ");
  215. X+ #endif
  216. X      tzset();                            /* Set `timezone'. */
  217. X      m_time += timezone;                 /* account for timezone differences */
  218. X  #endif
  219. END_OF_FILE
  220.   if test 786 -ne `wc -c <'AMIGA/patch.pw'`; then
  221.     echo shar: \"'AMIGA/patch.pw'\" unpacked with wrong size!
  222.   fi
  223.   # end of 'AMIGA/patch.pw'
  224. fi
  225. if test -f 'AMIGA/readme.pw' -a "${1}" != "-c" ; then 
  226.   echo shar: Will not clobber existing file \"'AMIGA/readme.pw'\"
  227. else
  228.   echo shar: Extracting \"'AMIGA/readme.pw'\" \(940 characters\)
  229.   sed "s/^X//" >'AMIGA/readme.pw' <<'END_OF_FILE'
  230. XDate: Tue, 21 May 91 12:46:10 EST
  231. XFrom: mailrus!gatech!simcity!paul@uunet.UU.NET (Paul Wells)
  232. XSubject: mods for unzip 4.1 for Amiga
  233. XMessage-ID: <9105211746.AA03598@simcity.UUCP>
  234. X
  235. XPlease find enclosed a shar file for Amiga SAS/C 5.10a.  Two source files
  236. Xfor the Amiga are included:  utime.c, so we can alter the date of a file,
  237. Xand stat.c, which isn't really needed for the SAS compiler, but is necessary
  238. Xfor the Lattice.  Sorry, sys/stat.h is not mine, hence, not included; utime.c
  239. Xand stat.c are my original code and released to the public domain.  The patches
  240. Xpertain primarily to ANSI prototyping; however, please note that the SAS
  241. Xcompiler doesn't know what a dup function is.  Everything was compiled with
  242. X-DUNIX -DNOTINT16 and other appropriate SAS/C flags, as noted in lmkfile.
  243. XI hope this is useful for others, but apologize if I didn't get there first.
  244. X
  245. XPaul Wells
  246. X..!gatech!wa4mei!paulw         (or)
  247. X..!gatech!wa4mei!simcity!paul
  248. END_OF_FILE
  249.   if test 940 -ne `wc -c <'AMIGA/readme.pw'`; then
  250.     echo shar: \"'AMIGA/readme.pw'\" unpacked with wrong size!
  251.   fi
  252.   # end of 'AMIGA/readme.pw'
  253. fi
  254. if test -f 'ATARI/Contents.UU' -a "${1}" != "-c" ; then 
  255.   echo shar: Will not clobber existing file \"'ATARI/Contents.UU'\"
  256. else
  257.   echo shar: Extracting \"'ATARI/Contents.UU'\" \(1901 characters\)
  258.   sed "s/^X//" >'ATARI/Contents.UU' <<'END_OF_FILE'
  259. Xbegin 666 ATARI/Contents
  260. XM0V]N=&5N=',@;V8@=&AE($%405))('-U8BUA<F-H:79E(&9O<B!5;EII<" T
  261. XM+C$Z#0H-"B @0V]N=&5N=',@(" @('1H:7,@9FEL90T*("!!=&%R:5-4+G!A
  262. XM=" @<&%T8VAE<R!T;R!5;EII<" T+C$@9F]R($%T87)I(%-4#0H@($UA:V5F
  263. XM:6QE+G-T("!-87)K(%=I;&QI86US(&UA:V5F:6QE(&9O<B!4=7)B;R!#(&-O
  264. XM;7!I;&5R#0H@(&UA:V5I=" @(" @("!S:6UP;&4@8V]M;6%N9"!S8W)I<'0@
  265. XM=&\@;6%K92!5;EII< T*("!214%$344N<W)C(" @;F]T97,@9G)O;2!-87)T
  266. XM:6X@4V-H=6QZ(&]N(&AI<R!P871C:&5S#0H@('1C+F-F9R @(" @("!4=7)B
  267. XM;R!#(&=E;F5R86P@8V]N9FEG=7)A=&EO;B!F:6QE(&9O<B!5;EII<" H8FEN
  268. XM87)Y*0T*("!U;GII<"YL;FL@(" @<F5F97)R960@=&\@87,@(E1,24Y++D]0
  269. XM5"(@:6X@;F]T97,_/PT*("!U;GII<"YP<FH@(" @5'5R8F\@0R!P<F]J96-T
  270. XM(&9I;&4@9F]R(%5N6FEP#0H-"D%L;"!M871E<FEA;"!I;B!T:&ES('-U8BUA
  271. XM<F-H:79E('=A<R!P<F]V:61E9"!B>2!-87)T:6X@4V-H=6QZ+@T*56YF;W)T
  272. XM=6YA=&5L>2P@:&ES('!A=&-H97,@86=A:6YS="!V-"XQ(&%R<FEV960@:G5S
  273. XM="!A<R!V-"XR('=A<R -"G)E;&5A<V5D(&%S(&$@9FEN86P@(F9E871U<F4M
  274. XM9G)E97IE(B!B971A+"!T;V\@;&%T92!T;R!I;F-O<G!O<F%T92X-"E-I;F-E
  275. XM('1H92!F:6QE<R!F;W(@56Y::7 @:&%V92!C:&%N9V5D(&-O;G-I9&5R86)L
  276. XM>2!B971W965N('9E<BT-"G-I;VYS+2UI;B!P87)T:6-U;&%R+"!U;GII<"YC
  277. XM+"!E>'1R86-T+F,@86YD(&9I;&5?:6\N8RTM=&AE('!A=&-H97,-"G!R;W9I
  278. XM9&5D(&AE<F4@=VEL;"!F86EL(&UI<V5R86)L>2X@(%=E('=I;&PL(&AO=V5V
  279. XM97(L('-E92!W:&%T('=E#0IC86X@9&\@=&\@:6YC;W)P;W)A=&4@;6]S="!O
  280. XM9B!T:&5M(&)E9F]R92!V-2XP+@T*#0I4:&4@;F]N+4%T87)I('!A=&-H97,@
  281. XM;65N=&EO;F5D(&EN($UA<G1I;B=S(')E861M92!F:6QE(&%R92!N;W0-"FEN
  282. XM8VQU9&5D(&AE<F4N("!";W1H('1H92!5;FEX(&)L86YK<R!P871C:"!A;F0@
  283. XM=&AE('-Y;6)O;&EC(&QI;FMS#0IP871C:&5S(&%R92!N;R!L;VYG97(@;F5C
  284. XM97-S87)Y("AA8W1U86QL>2P@=&AE<F4@:7,@82!B=6<@:6X@=&AE#0IE>&ES
  285. XM=&EN9R!S>6UB;VQI8R!L:6YK<R!C;V1E+2UI="!W;VXG="!D;R!C;VUP<F5S
  286. XM<V5D(&QI;FMS('!R;W!E<FQY#0HM+6)U="!T:&ES(&ES(&$@<F%R92!P<F]B
  287. XM;&5M*3L@=&AE(&]P=&EM:7IA=&EO;B!P871C:"!I<R!O;B!H;VQD#0IB=70@
  288. XM=VEL;"!P<F]B86)L>2!B92!I;F-O<G!O<F%T960@:6X@=C4N,"!A<R!W96QL
  289. XM+"!A<W-U;6EN9R!I= T*9&]E<VXG="!B<F5A:R!A;GD@;W1H97(@<WES=&5M
  290. X$<RX-"G-U
  291. Xend
  292. END_OF_FILE
  293.  if test 1901 -ne `wc -c <'ATARI/Contents.UU'`; then
  294.     echo shar: \"'ATARI/Contents.UU'\" unpacked with wrong size!
  295.   else
  296.     echo shar: Uudecoding \"'ATARI/Contents'\" \(1354 characters\)
  297.     cat ATARI/Contents.UU | uudecode
  298.     if test 1354 -ne `wc -c <'ATARI/Contents'`; then
  299.       echo shar: \"'ATARI/Contents'\" uudecoded with wrong size!
  300.     else
  301.       rm ATARI/Contents.UU
  302.     fi
  303.   fi
  304.   # end of 'ATARI/Contents.UU'
  305. fi
  306. if test -f 'ATARI/Makefile.st.UU' -a "${1}" != "-c" ; then 
  307.   echo shar: Will not clobber existing file \"'ATARI/Makefile.st.UU'\"
  308. else
  309.   echo shar: Extracting \"'ATARI/Makefile.st.UU'\" \(1622 characters\)
  310.   sed "s/^X//" >'ATARI/Makefile.st.UU' <<'END_OF_FILE'
  311. Xbegin 666 ATARI/Makefile.st
  312. XM(R @36%K969I;&4N<W0)36%K969I;&4@9F]R(%5N6FEP(#0N,"P-"B,@('5S
  313. XM:6YG(%1U<F)O($,@,BXP(&9O<B!T:&4@071A<FD@4U0@86YD#0HC("!M86ME
  314. XM(&9R;VT@=&AE($UA<FL@5VEL;&EA;7,@0R S+CD@*'-O<G)Y(&9O<B!T:&%T
  315. XM(&UI>'1U<F4I#0HC#0H-"B,@55!015)#05-%(&9I;&4@;F%M97,@9F%C:6QI
  316. XM=&%T92!41"=S('5N9&5R<W1A;F1I;F<@;V8@;6]D=6QE<RX-"BY3549&25A%
  317. XM4SH@+F\@+D\@+F,@+D,@+G,-"@T*5$-(3TU%"3T@13I<=&,-"@T*(R,C(R,C
  318. XM(R,C(R,C(R,C(R,C(R,C#0HC($U!0U)/($1%1DE.251)3TY3(",-"B,C(R,C
  319. XM(R,C(R,C(R,C(R,C(R,C(PT*#0I#0PD]('1C8PT*(T-&3$%'4PD]("U$051!
  320. XM4DE?4U0],2 M62 M23TD*%1#2$]-12E<:6YC;'5D90T*0T9,04=3"3T@+41!
  321. XM5$%225]35#TQ("U)/20H5$-(3TU%*5QI;F-L=61E#0HC3$9,04=3"3T@+4P@
  322. XM+5D-"DQ&3$%'4PD]#0I,24()/2 D*%1#2$]-12E<;&EB#0I,1 D]('1L:6YK
  323. XM#0H-"D]"2E,@/2!U;GII<"YO(&9I;&5?:6\N;R!M87!N86UE+F\@;6%T8V@N
  324. XM;R!M:7-C+F]<#0H@(" @(" @=6YI;7!L;V0N;R!U;G)E9'5C92YO('5N<VAR
  325. XM:6YK+F\-"@T*#0HC(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C
  326. XM(R,C(R,C(R,C(R,C(PT*(R!"05-)0R!#3TU024Q%($E.4U1254-424].4R!!
  327. XM3D0@1$5014Y$14Y#2453(",-"B,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C
  328. XM(R,C(R,C(R,C(R,C(R,C(R,C(R,C#0H-"D%,3 DZ('5N>FEP+G!R9PT*"65C
  329. XM:&\@9&]N90T*#0IU;GII<"YO.B @(" @('5N>FEP+F,@=6YZ:7 N: T*#0IF
  330. XM:6QE7VEO+F\Z(" @(&9I;&5?:6\N8R!U;GII<"YH#0H-"FUA<&YA;64N;SH@
  331. XM(" @;6%P;F%M92YC('5N>FEP+F@-"@T*;6%T8V@N;SH@(" @("!M871C:"YC
  332. XM('5N>FEP+F@-"@T*;6ES8RYO.B @(" @("!M:7-C+F,@=6YZ:7 N: T*#0IU
  333. XM;FEM<&QO9"YO.B @('5N:6UP;&]D+F,@=6YZ:7 N: T*#0IU;G)E9'5C92YO
  334. XM.B @('5N<F5D=6-E+F,@=6YZ:7 N: T*#0IU;G-H<FEN:RYO.B @('5N<VAR
  335. XM:6YK+F,@=6YZ:7 N: T*#0IU;GII<"YP<F<Z(" @(" D*$]"2E,I#0H)=&QI
  336. XM;FL@+4\])$ @)"A,1DQ!1U,I("U3/3@Q.3(@+4,]=6YZ:7 N;&YK#0H-"BYC
  337. X:+F\Z#0H)=&-C("0H0T9,04=3*2 D/ T*#0H@
  338. Xend
  339. END_OF_FILE
  340.  if test 1622 -ne `wc -c <'ATARI/Makefile.st.UU'`; then
  341.     echo shar: \"'ATARI/Makefile.st.UU'\" unpacked with wrong size!
  342.   else
  343.     echo shar: Uudecoding \"'ATARI/Makefile.st'\" \(1151 characters\)
  344.     cat ATARI/Makefile.st.UU | uudecode
  345.     if test 1151 -ne `wc -c <'ATARI/Makefile.st'`; then
  346.       echo shar: \"'ATARI/Makefile.st'\" uudecoded with wrong size!
  347.     else
  348.       rm ATARI/Makefile.st.UU
  349.     fi
  350.   fi
  351.   # end of 'ATARI/Makefile.st.UU'
  352. fi
  353. if test -f 'ATARI/makeit.UU' -a "${1}" != "-c" ; then 
  354.   echo shar: Will not clobber existing file \"'ATARI/makeit.UU'\"
  355. else
  356.   echo shar: Extracting \"'ATARI/makeit.UU'\" \(597 characters\)
  357.   sed "s/^X//" >'ATARI/makeit.UU' <<'END_OF_FILE'
  358. Xbegin 666 ATARI/makeit
  359. XM=&-C("U$051!4DE?4U0],2 M23U%.EQT8UQI;F-L=61E('5N>FEP+F,-"G1C
  360. XM8R M1$%405))7U-4/3$@+4D]13I<=&-<:6YC;'5D92!F:6QE7VEO+F,-"G1C
  361. XM8R M1$%405))7U-4/3$@+4D]13I<=&-<:6YC;'5D92!M87!N86UE+F,-"G1C
  362. XM8R M1$%405))7U-4/3$@+4D]13I<=&-<:6YC;'5D92!M871C:"YC#0IT8V,@
  363. XM+41!5$%225]35#TQ("U)/44Z7'1C7&EN8VQU9&4@;6ES8RYC#0IT8V,@+41!
  364. XM5$%225]35#TQ("U)/44Z7'1C7&EN8VQU9&4@=6YI;7!L;V0N8PT*=&-C("U$
  365. XM051!4DE?4U0],2 M23U%.EQT8UQI;F-L=61E('5N<F5D=6-E+F,-"G1C8R M
  366. XM1$%405))7U-4/3$@+4D]13I<=&-<:6YC;'5D92!U;G-H<FEN:RYC#0IT;&EN
  367. XM:R M3SUU;GII<"YP<F<@("U3/3@Q.3(@+4,]=6YZ:7 N;&YK#0IE8VAO(&1O
  368. X$;F4-"CUU
  369. Xend
  370. END_OF_FILE
  371.  if test 597 -ne `wc -c <'ATARI/makeit.UU'`; then
  372.     echo shar: \"'ATARI/makeit.UU'\" unpacked with wrong size!
  373.   else
  374.     echo shar: Uudecoding \"'ATARI/makeit'\" \(409 characters\)
  375.     cat ATARI/makeit.UU | uudecode
  376.     if test 409 -ne `wc -c <'ATARI/makeit'`; then
  377.       echo shar: \"'ATARI/makeit'\" uudecoded with wrong size!
  378.     else
  379.       rm ATARI/makeit.UU
  380.     fi
  381.   fi
  382.   # end of 'ATARI/makeit.UU'
  383. fi
  384. if test -f 'ATARI/unzip.lnk.UU' -a "${1}" != "-c" ; then 
  385.   echo shar: Will not clobber existing file \"'ATARI/unzip.lnk.UU'\"
  386. else
  387.   echo shar: Extracting \"'ATARI/unzip.lnk.UU'\" \(310 characters\)
  388.   sed "s/^X//" >'ATARI/unzip.lnk.UU' <<'END_OF_FILE'
  389. Xbegin 666 ATARI/unzip.lnk
  390. XM93I<=&-<;&EB7&UY<W1A<G0N;PT*=6YZ:7 N;PT*9FEL95]I;RYO#0IM87!N
  391. XM86UE+F\-"FUA=&-H+F\-"FUI<V,N;PT*=6YI;7!L;V0N;PT*=6YR961U8V4N
  392. XM;PT*=6YS:')I;FLN;PT*93I<=&-<;&EB7'1C<W1D;&EB+FQI8@T*93I<=&-<
  393. XM;&EB7'1C97AT;&EB+FQI8@T*93I<=&-<;&EB7'1C=&]S;&EB+FQI8@T*93I<
  394. X5=&-<;&EB7'1C<W1D;&EB+FQI8@T*
  395. Xend
  396. END_OF_FILE
  397.  if test 310 -ne `wc -c <'ATARI/unzip.lnk.UU'`; then
  398.     echo shar: \"'ATARI/unzip.lnk.UU'\" unpacked with wrong size!
  399.   else
  400.     echo shar: Uudecoding \"'ATARI/unzip.lnk'\" \(201 characters\)
  401.     cat ATARI/unzip.lnk.UU | uudecode
  402.     if test 201 -ne `wc -c <'ATARI/unzip.lnk'`; then
  403.       echo shar: \"'ATARI/unzip.lnk'\" uudecoded with wrong size!
  404.     else
  405.       rm ATARI/unzip.lnk.UU
  406.     fi
  407.   fi
  408.   # end of 'ATARI/unzip.lnk.UU'
  409. fi
  410. if test -f 'MAC/mpw.make.UU' -a "${1}" != "-c" ; then 
  411.   echo shar: Will not clobber existing file \"'MAC/mpw.make.UU'\"
  412. else
  413.   echo shar: Extracting \"'MAC/mpw.make.UU'\" \(2023 characters\)
  414.   sed "s/^X//" >'MAC/mpw.make.UU' <<'END_OF_FILE'
  415. Xbegin 666 MAC/mpw.make
  416. XM(R @(%1H:7,@35!7(&UA:V5F:6QE(&ES(&1E<VEG;F5D('1O(&)E('5S960@
  417. XM=&\@8V]M<&EL92!A;B!-4%<@=F5R<VEO;@HC(" @;V8@=6YZ:7 @=7-I;F<@
  418. XM=&AE($U05R!#(&-O;7!I;&5R+"!V97)S:6]N(#,N,BX@4VEM<&QY(')E;F%M
  419. XM90HC(" @=&AI<R!F:6QE(&%S('5N>FEP+FUA:V4@86YD(&1O(&%N($U05R!B
  420. XM=6EL9"X*"@HC(" @1FEL93H@(" @(" @=6YZ:7 N;6%K90HC(" @5&%R9V5T
  421. XM.B @(" @56YZ:7 *(R @(%-O=7)C97,Z(" @('5N>FEP+F,*(R @(" @(" @
  422. XM(" @(" @(&-R>7!T+F,*(R @(" @(" @(" @(" @(&5N=F%R9W,N8PHC(" @
  423. XM(" @(" @(" @(" @97AP;&]D92YC"B,@(" @(" @(" @(" @("!E>'1R86-T
  424. XM+F,*(R @(" @(" @(" @(" @(&9I;&5?:6\N8PHC(" @(" @(" @(" @(" @
  425. XM:6YF;&%T92YC"B,@(" @(" @(" @(" @("!M86-F:6QE+F,*(R @(" @(" @
  426. XM(" @(" @(&UA8W-T870N8PHC(" @(" @(" @(" @(" @;6%P;F%M92YC"B,@
  427. XM(" @(" @(" @(" @("!M871C:"YC"B,@(" @(" @(" @(" @("!M:7-C+F,*
  428. XM(R @(" @(" @(" @(" @('5N<F5D=6-E+F,*(R @(" @(" @(" @(" @('5N
  429. XM<VAR:6YK+F,*(R @($-R96%T960Z(" @($9R:61A>2P@36%Y(#DL(#$Y.3(@
  430. XM.3HP,#HP,"!030H*"D-&3$%'4R ]("UD($U05R C("UD($-265!4"@I,1DQ!
  431. XM1U,@/2 M;0H*"BYC+F\@Q" N8R!U;GII<"YH('5N>FEP+FUA:V4*(" @(" @
  432. XM("!#('M#1DQ!1U-]('M$969A=6QT?2YC"@I/0DI%0U13(#T@M@H@(" @(" @
  433. XM('5N>FEP+F,N;R"V"B,@(" @(" @8W)Y<'0N8RYO(+8*(" @(" @("!E;G9A
  434. XM<F=S+F,N;R"V"B @(" @(" @97AP;&]D92YC+F\@M@H@(" @(" @(&5X=')A
  435. XM8W0N8RYO(+8*(" @(" @("!F:6QE7VEO+F,N;R"V"B @(" @(" @:6YF;&%T
  436. XM92YC+F\@M@H@(" @(" @(&UA8V9I;&4N8RYO(+8*(" @(" @("!M86-S=&%T
  437. XM+F,N;R"V"B @(" @(" @;6%P;F%M92YC+F\@M@H@(" @(" @(&UA=&-H+F,N
  438. XM;R"V"B @(" @(" @;6ES8RYC+F\@M@H@(" @(" @('5N<F5D=6-E+F,N;R"V
  439. XM"B @(" @(" @=6YS:')I;FLN8RYO"@I5;GII<"#$('M/0DI%0U13?2!U;GII
  440. XM<"YR"B @(" @(" @3&EN:R M9" M8R G35!3("<@+70@35!35""V"B @(" @
  441. XM(" @(" @(" @("![3T)*14-44WT@M@H@(" @(" @(" @(" @(" @(GM#3&EB
  442. XM<F%R:65S?2)3=&1#;&EB+F\@M@H@(" @(" @(" @(" @(" @(GM,:6)R87)I
  443. XM97-](E-T=6)S+F\@M@H@(" @(" @(" @(" @(" @(GM,:6)R87)I97-](E)U
  444. XM;G1I;64N;R"V"B @(" @(" @(" @(" @(" B>TQI8G)A<FEE<WTB26YT97)F
  445. XM86-E+F\@M@H@(" @(" @(" @(" @(" @+6\@56YZ:7 *(" @(" @("!R97H@
  446. XM+6%P<&5N9" M;R!5;GII<"!U;GII<"YR"@IU;GII<"YR(,0@=6YZ:7 N=&AI
  447. XM;FMC+G)S<F,*(" @(" @("!D97)E>B!U;GII<"YT:&EN:V,N<G-R8R ^('5N
  448. X&>FEP+G(*
  449. Xend
  450. END_OF_FILE
  451.  if test 2023 -ne `wc -c <'MAC/mpw.make.UU'`; then
  452.     echo shar: \"'MAC/mpw.make.UU'\" unpacked with wrong size!
  453.   else
  454.     echo shar: Uudecoding \"'MAC/mpw.make'\" \(1446 characters\)
  455.     cat MAC/mpw.make.UU | uudecode
  456.     if test 1446 -ne `wc -c <'MAC/mpw.make'`; then
  457.       echo shar: \"'MAC/mpw.make'\" uudecoded with wrong size!
  458.     else
  459.       rm MAC/mpw.make.UU
  460.     fi
  461.   fi
  462.   # end of 'MAC/mpw.make.UU'
  463. fi
  464. if test -f 'MAC/thinkc.rsrc.hqx' -a "${1}" != "-c" ; then 
  465.   echo shar: Will not clobber existing file \"'MAC/thinkc.rsrc.hqx'\"
  466. else
  467.   echo shar: Extracting \"'MAC/thinkc.rsrc.hqx'\" \(1105 characters\)
  468.   sed "s/^X//" >'MAC/thinkc.rsrc.hqx' <<'END_OF_FILE'
  469. X(This file must be converted with BinHex 4.0)
  470. X
  471. X:%A9ZHQP`,R4SD@jVBbjbFh*M!(*cFQ058d9%!*!)!`@QeJ#3"!%!N!-#M`!!!Bm
  472. X!N!0fFR)T$3N*)#"l$3N*)*!%HLdqE%4TFNP%)$dJF'eT,4&eERTTF#jdD'PZDf-
  473. XZFR0bB`)!N!0bFh*M8P0&4!%!N!0bFh*M8P0&4!%!!*`"!*!6TQrieJ#3"J-&DA0
  474. Xd)#T`HLN0H`dJ)%eKBdPZCQmJ+R"YD5!p)'0KE'a[BbJJ-5`JFfPkC@pQ)#KcG(*
  475. XeBh3J6@&M5@jQEbNT1`dJ)!dJ)'PQ)#K`E@NT$5!JH`dJN!4$5@jQEe"#8Q9M)'0
  476. XTF'*b1`dJN!43BA*KE8*XEf0V8Q9M)("LFMX0)#!!N!-8"3#!!*!$!c8Z-!P9ERT
  477. XTF#!e,M!!N!06"3#!!*!$'%PZCQmY@QP`*h-J9@jkDA!JCQpb)%eKBc0*EQC[,9T
  478. XTF#Gc)&9ZHQP`)'C[FL"dD'8J6@&MD@jdEh0S,#"$Eh"jFQPRD(3JU6%j16)!N!0
  479. X%"m!I-$m)I`4r"2m#r`,rrS(qJIj"r%(m)IJCm!I!!!!(`"r`2rKrr(rmrrlrr[r
  480. XqrrlrrRrmIr`rq"r`"m!!N!-(!!F!N!0%"m!Im$riAr42j)I#Ji+"!S1#Km*2j&r
  481. Xd2rJIm!I!!!!(`"r`2rKrr(rmrrlrr[rqrrlrrRrmIr`rq"r`"m!!N!-(!!F!N!0
  482. X%"m!Cm#(i3Ia"r)(qJIlrr[m#r`*r"(m%2`JI-!I!!!!(`"r`2rKrr(rmrrlrr[r
  483. XqrrlrrRrmIr`rq"r`"m!!N!-(!!F!N!0%"m!B-#!)F"ai22aqr[lrrT!$r(ji2(!
  484. XF)!JB-!I!!!!(`"r`2rKrr(rmrrlrr[rqrrlrrRrmIr`rq"r`"m!!N!-(!!F!!!%
  485. X!N!-#M`!!!Bm!N!0f!"`p)!4U!*!$(!"f!!&fCA*c!!%!%N098P-!!`!U!!(rr`#
  486. X3!aJ!($[8!!,rr`#3"4`m)!#!rrm%!!"[!*!&JIrr"!!!Y`#3"B,rr`3!!2m!N!@
  487. X$rrm%!!&(!*!%JiB:
  488. END_OF_FILE
  489.   if test 1105 -ne `wc -c <'MAC/thinkc.rsrc.hqx'`; then
  490.     echo shar: \"'MAC/thinkc.rsrc.hqx'\" unpacked with wrong size!
  491.   fi
  492.   # end of 'MAC/thinkc.rsrc.hqx'
  493. fi
  494. if test -f 'MSDOS/Contents' -a "${1}" != "-c" ; then 
  495.   echo shar: Will not clobber existing file \"'MSDOS/Contents'\"
  496. else
  497.   echo shar: Extracting \"'MSDOS/Contents'\" \(2453 characters\)
  498.   sed "s/^X//" >'MSDOS/Contents' <<'END_OF_FILE'
  499. XContents of the MSDOS sub-archive for UnZip 5.0 and later:
  500. X
  501. X  Contents          this file
  502. X  Borland.fix       patches to fix Borland executables for grokking Unix EOLs
  503. X  makefile          makefile for Turbo C and old Microsoft C
  504. X  makefile.bcc      makefile for Borland C++
  505. X  makefile.qc       makefile for Quick C and nmake
  506. X  tcc/unzip.prj     Turbo C project file for UnZip
  507. X  tcc/unzip.tc      Turbo C configuration file for UnZip (binary)
  508. X  tcc/unzip_cr.prj  Turbo C project file for UnZip + decryption (need crypt.c)
  509. X  tcc/unzip_cr.tc   Turbo C configuration file for UnZip + decryption (binary)
  510. X  tcc/zi_make.bat   batch file to make ZipInfo with Turbo C
  511. X  tcc/zipinfo.prj   Turbo C project file for ZipInfo
  512. X  tcc/zipinfo.tc    Turbo C configuration file for ZipInfo (binary)
  513. X  bcc/tcconfig.tc   BC++ general configuration file (binary)
  514. X  bcc/unzip.prj     BC++ project file for UnZip (binary)
  515. X  bcc/unzip_cr.prj  BC++ project file for UnZip/decryption (binary; need crypt)
  516. X  bcc/zipinfo.prj   BC++ project file for ZipInfo (binary)
  517. X
  518. XNote:  despite the similarity in names to the corresponding Turbo C files,
  519. Xthe Borland C++ files apparently are NOT compatible with the older compilers
  520. X(although they seem to be compatible with Turbo C++).  So the old TC project
  521. Xfiles are also included.  FOR BOTH COMPILERS, you must indicate "rebuild" for
  522. Xunzip or zipinfo (whichever you do second), because the two misc.obj's are not
  523. Xcompatible with each other.  This is not a problem if you use the makefile(s),
  524. Xin which case zipinfo's is called misc_.obj, but (1) the project files are
  525. Xmuch faster on older machines, and (2) the Turbo C makefile doesn't seem to 
  526. Xwork properly yet.  As always, if anyone manages to make it go, please send
  527. Xus your fixes.
  528. X
  529. XNote also:  for MSC 6.0 or later, use the msc_dos and zi_dos targets in the
  530. Xmain Unix Makefile--with NMAKE, not MAKE.  The msc_dos target has been re-
  531. Xwritten to use a response file in order to get around the DOS 128-character 
  532. Xcommand-line limit, but the nmake command itself may have trouble.  Give it 
  533. Xa try, however.
  534. X
  535. XOne last note:  the binary patches in Borland.fix are NOT required; they may
  536. Xbe useful if you regularly deal with Unix sources, but casual users should
  537. Xprobably make use of an external utility like Rahul Dhesi's FLIP to convert 
  538. Xbetween Unix and DOS/OS2 end-of-line characters.  If you know how to patch
  539. Xbinary executables, you should be able to figure out how to use these patches.
  540. END_OF_FILE
  541.   if test 2453 -ne `wc -c <'MSDOS/Contents'`; then
  542.     echo shar: \"'MSDOS/Contents'\" unpacked with wrong size!
  543.   fi
  544.   # end of 'MSDOS/Contents'
  545. fi
  546. if test -f 'MSDOS/bcc/tcconfig.tc.UU' -a "${1}" != "-c" ; then 
  547.   echo shar: Will not clobber existing file \"'MSDOS/bcc/tcconfig.tc.UU'\"
  548. else
  549.   echo shar: Extracting \"'MSDOS/bcc/tcconfig.tc.UU'\" \(2548 characters\)
  550.   sed "s/^X//" >'MSDOS/bcc/tcconfig.tc.UU' <<'END_OF_FILE'
  551. Xbegin 666 MSDOS/bcc/tcconfig.tc
  552. XM5'5R8F\@0R!#;VYF:6=U<F%T:6]N($9I;&4@&@ !#1(7 1H   L( 'P D0$"
  553. XM    D@$"  $ E0$!  26 0(   "7 0( &0"8 0(   "9 0( !P"< 00 .   
  554. XM )T! @ " )\! @ ' * ! @ B Z$! @"'_Z(! @   *,! @   *0! @   *4!
  555. XM 0  I@$"  $ IP$"    J $"    J0$"    __\   D EP,7 ^\"        
  556. XM_\!____A?___X                     #_^___               !    
  557. XM                 5@ %@"P !, _  : &0!& #$ 08  0 # @, _P$$ .T!
  558. XM!0#Q 08 !0('  D""  ' @D :0(+ -P!# #' @X 90(/ .(!$ "U A$ WP$2
  559. XM /L!$P#O 10 $ (6 -L"%P#X 1@ \P$9  L"&@#U 0X !P() &D"1P 2 D@ 
  560. XM\0%) /L!2P#O 4T [0%/ !0"4 #S 5$ _P%2 -L"4P ) G,  P)T  4"=0 9
  561. XM G8 'P)W !8"A  < AL 3P(" 28" P%5 @0!MP(( 5,""0%A @L!*@(, 2X"
  562. XM$ '7 A$!MP(2 ;\"$P'G A0!.0(5 6,"%@%9 A<!NP(9 5T", !K C$ ;@(R
  563. XM '$",P!T C0 =P(U 'H"-@!] C< @ (X (,".0"& @$!RP(" 40" P$? @0!
  564. XM% (% 18"!@'# @L!2 (0 4P"$@$< A,!$@(8 1D"&0$. C  B0(Q (T",@"1
  565. XM C, E0(T )D"-0"= C8 H0(W *4". "I CD K0(; ;$"'0&S @8!X0() =T"
  566. XM#P$B A(!Y0(4 >,"%0'? @(" 0(# 0($ 1(!$0$3 10!5 %5 14!%@$9/0$:
  567. XM/0$^5CT!/E<] 1<!& $I 2@!)1T!)@$G 1T!'@$S'P$S( $S(0$S(@$>.0T!
  568. XM3BHL 4XK+ %.01X3*Q0=*BQ" 4Y!$1=+*Q<J+$(!,RX_ 3,O/P$T/P%; 5P!
  569. XM+0$P+#\!,2P_ 3(_3@%% 48!.0T4 5,!-P !-P$!-P(!-P,!-P0!-P4!-P8!
  570. XM-P<!-P@!-PD!-@ _ 38!/P$V C\!-@,_ 38$/P$V!3\!-@8_ 38'/P$V"#\!
  571. XM-@D_ 4P!30$Y 0,!  $# @ ! P,  0,$  $#!0 ! P8  0,)  $#"@ ! PL 
  572. XM 2,!1P%) 5(!4 %9 0,2  $#$P ! "\J*B\!*  I  %; %T  7L ?0 !/  ^
  573. XM   B "(  "< )P "                                            
  574. XM                                                            
  575. XM                                                            
  576. XM            "P#3 @AP('!X="0(<"!P>'0D<' @<'AT)!<7<1X73A\?&A,Q
  577. XM,3!/  <'?P]_3@\/"A,Q,0<  #$Q*S$_3C\_.A,Q,0   #$Q*S$_3C\_.A,Q
  578. XM,0     W/C >,0 Q,3$3$P  ,# ^,!XQ/S\Z,1,3?G .<0  =' ?<0 ?&A,Q
  579. XM,0                                           #$Q*S$_3C\_.A,Q
  580. XM,0   #$Q*S$_3C\_.A,Q,0   ']_ '      >C$Q$P   ']^<'YP?G]^>!,;
  581. XM'APO+BLN("YX&R\?+Q\>$!X7'QHP/B\X/SXP/C@'!W '#P\/!P=P!P\/#P<'
  582. XM< </#P\'!W '!W /#P]W#P\/<  '!W '#W /#P]W#P\'   '!W '#W /#P]W
  583. XM#P\    '!W '#W /#P]W#P\    /!P\'< \/#P]W#P\   \'#P=P#P\/#W</
  584. XM#W!P#W    \'<'< #P]W#P\                                     
  585. XM       '!W '#W /#P]W#P\    '!W '#W /#P]W#P\    /< !P     '!W
  586. XM#P\    /< =P!W /<'@'!P<'#W '< =P> =P#W '#P</> \/!P=P> ]P!P]X
  587. XM"'@'>'AP#PAX!WAX< \(> =X>' /!P=P#P]P#P\/=P\/#W  !P=P!P\/#P\/
  588. XM=P\/!P  !P=P!P\/#P\/=P\/    !P=P!P\/#P\/=P\/    #P</!W (#P\/
  589. XM=P\/   /!P\'< @/#P]W#P]P< ]X   /!W!P  \/=P\/                
  590. XM                            !P=P!P\/#P\/=P\/    !P=P!P\/#P\/
  591. XM=P\/    #W  <     !P=P\/    #W '< =P#W!X!P<'!P]P!W '<'@'< ]P
  592. X4!P\'#W@/#P<'<'@/< </>/__    
  593. Xend
  594. END_OF_FILE
  595.   if test 2548 -ne `wc -c <'MSDOS/bcc/tcconfig.tc.UU'`; then
  596.     echo shar: \"'MSDOS/bcc/tcconfig.tc.UU'\" unpacked with wrong size!
  597.   else
  598.     echo shar: Uudecoding \"'MSDOS/bcc/tcconfig.tc'\" \(1820 characters\)
  599.     cat MSDOS/bcc/tcconfig.tc.UU | uudecode
  600.     if test 1820 -ne `wc -c <'MSDOS/bcc/tcconfig.tc'`; then
  601.       echo shar: \"'MSDOS/bcc/tcconfig.tc'\" uudecoded with wrong size!
  602.     else
  603.       rm MSDOS/bcc/tcconfig.tc.UU
  604.     fi
  605.   fi
  606.   # end of 'MSDOS/bcc/tcconfig.tc.UU'
  607. fi
  608. if test -f 'MSDOS/makefile.bcc' -a "${1}" != "-c" ; then 
  609.   echo shar: Will not clobber existing file \"'MSDOS/makefile.bcc'\"
  610. else
  611.   echo shar: Extracting \"'MSDOS/makefile.bcc'\" \(2249 characters\)
  612.   sed "s/^X//" >'MSDOS/makefile.bcc' <<'END_OF_FILE'
  613. X# Makefile for unzip and zipinfo for Borland C++ 3.0             Alvin Koh
  614. X# Version: 5.0                                                26 June 1992
  615. X#
  616. X# Toad Hall: Works great for BC++ v2.0 too!  [some spaces should be tabs?]
  617. X
  618. X# make definitions
  619. X
  620. XCC = bcc
  621. XTASM = tasm
  622. XTLINK = tlink
  623. XMODEL = s               # small model
  624. X
  625. XCRYPTO =
  626. XCRYPTF =
  627. X# definitions for crypt version
  628. X#CRYPTO = crypt.obj
  629. X#CRYPTF = -DCRYPT
  630. X
  631. X# compiler flags
  632. X
  633. XGENFLAGS = -m$(MODEL) -ff- -k- -wamb -wamp -wasm -wpro -wdef -wnod -wstv \
  634. X           -wucp -wuse -P-.C
  635. XCFLAGS = $(GENFLAGS) $(CRYPTF)
  636. XZIFLAGS = $(GENFLAGS) -K -d -wcln -wsig -DZIPINFO
  637. X
  638. X# implicit rules
  639. X
  640. X.c.obj:
  641. X        $(CC) -c $(CFLAGS) {$< }
  642. X
  643. X# list macros
  644. X
  645. Xunzip_dependencies = \
  646. X        unzip.obj $(CRYPTO) \
  647. X        envargs.obj \
  648. X        explode.obj \
  649. X        extract.obj \
  650. X        file_io.obj \
  651. X        inflate.obj \
  652. X        mapname.obj \
  653. X        match.obj \
  654. X        misc.obj \
  655. X        unreduce.obj \
  656. X        unshrink.obj
  657. X
  658. Xzipinfo_dependencies = \
  659. X        zipinfo.obj \
  660. X        envargs.obj \
  661. X        match.obj \
  662. X        misc_.obj
  663. X
  664. X# explicit rules
  665. X
  666. Xall:    unzip.exe zipinfo.exe
  667. X
  668. Xunzip.exe:      $(unzip_dependencies)
  669. X        $(TLINK) /x/n/c/d/P- @&&|
  670. Xc0$(MODEL).obj+
  671. Xunzip.obj $(CRYPTO)+
  672. Xenvargs.obj+
  673. Xexplode.obj+
  674. Xextract.obj+
  675. Xfile_io.obj+
  676. Xinflate.obj+
  677. Xmapname.obj+
  678. Xmatch.obj+
  679. Xmisc.obj+
  680. Xunreduce.obj+
  681. Xunshrink.obj
  682. Xunzip.exe
  683. X                # no map file
  684. Xemu.lib+
  685. Xmath$(MODEL).lib+
  686. Xc$(MODEL).lib
  687. X|
  688. X
  689. Xzipinfo.exe:    $(zipinfo_dependencies)
  690. X        $(TLINK) /x/n/c/d/P- @&&|
  691. Xc0$(MODEL).obj+
  692. Xzipinfo.obj+
  693. Xenvargs.obj+
  694. Xmatch.obj+
  695. Xmisc_.obj
  696. Xzipinfo.exe
  697. X                # no map file
  698. Xemu.lib+
  699. Xmath$(MODEL).lib+
  700. Xc$(MODEL).lib
  701. X|
  702. X
  703. X# individual file dependencies
  704. X
  705. Xunzip.obj:      unzip.c unzip.h
  706. Xcrypt.obj:      crypt.c unzip.h zip.h
  707. Xenvargs.obj:    envargs.c unzip.h
  708. Xexplode.obj:    explode.c unzip.h
  709. Xextract.obj:    extract.c unzip.h
  710. Xfile_io.obj:    file_io.c unzip.h
  711. Xinflate.obj:    inflate.c unzip.h
  712. Xmapname.obj:    mapname.c unzip.h
  713. Xmatch.obj:      match.c unzip.h
  714. Xmisc.obj:       misc.c unzip.h
  715. Xunreduce.obj:   unreduce.c unzip.h
  716. Xunshrink.obj:   unshrink.c unzip.h
  717. X
  718. Xzipinfo.obj:    zipinfo.c unzip.h
  719. X        $(CC) -c $(ZIFLAGS) zipinfo.c
  720. X
  721. Xmisc_.obj:      misc.c unzip.h
  722. X        $(CC) -c $(ZIFLAGS) -omisc_.obj misc.c
  723. END_OF_FILE
  724.   if test 2249 -ne `wc -c <'MSDOS/makefile.bcc'`; then
  725.     echo shar: \"'MSDOS/makefile.bcc'\" unpacked with wrong size!
  726.   fi
  727.   # end of 'MSDOS/makefile.bcc'
  728. fi
  729. if test -f 'MSDOS/makefile.qc' -a "${1}" != "-c" ; then 
  730.   echo shar: Will not clobber existing file \"'MSDOS/makefile.qc'\"
  731. else
  732.   echo shar: Extracting \"'MSDOS/makefile.qc'\" \(1113 characters\)
  733.   sed "s/^X//" >'MSDOS/makefile.qc' <<'END_OF_FILE'
  734. X# From: Richard A Seay <g0rick@cdf.toronto.edu>, 4 Apr 92
  735. X#
  736. X# I successfully compiled both Zip and UnZip for MSDOS using the Microsoft
  737. X# Quick C 2.0 compiler and linker.  Here are the NMAKE files that I used.
  738. X
  739. XPROJ    =UNZIP
  740. XCC    =qcl
  741. XCFLAGS  = /AS /W1 /Za /Olt
  742. XLFLAGS  = /NOI /E
  743. XOBJS_EXT =
  744. XLIBS_EXT =
  745. X
  746. Xall:    $(PROJ).exe
  747. X
  748. Xunzip.obj:      unzip.c unzip.h
  749. X
  750. Xenvargs.obj:    envargs.c unzip.h
  751. X
  752. Xexplode.obj:    explode.c unzip.h
  753. X
  754. Xextract.obj:    extract.c unzip.h
  755. X
  756. Xfile_io.obj:    file_io.c unzip.h
  757. X
  758. Xinflate.obj:    inflate.c unzip.h
  759. X
  760. Xmapname.obj:    mapname.c unzip.h
  761. X
  762. Xmatch.obj:      match.c unzip.h
  763. X
  764. Xmisc.obj:       misc.c unzip.h
  765. X
  766. Xunreduce.obj:   unreduce.c unzip.h
  767. X
  768. Xunshrink.obj:   unshrink.c unzip.h
  769. X
  770. X$(PROJ).exe:    unzip.obj envargs.obj explode.obj extract.obj file_io.obj\
  771. X    inflate.obj mapname.obj match.obj misc.obj unreduce.obj unshrink.obj\
  772. X    $(OBJS_EXT)
  773. X    echo >NUL @<<$(PROJ).crf
  774. Xunzip.obj +
  775. Xenvargs.obj +
  776. Xexplode.obj +
  777. Xextract.obj +
  778. Xfile_io.obj +
  779. Xinflate.obj +
  780. Xmapname.obj +
  781. Xmatch.obj +
  782. Xmisc.obj +
  783. Xunreduce.obj +
  784. Xunshrink.obj +
  785. X$(OBJS_EXT)
  786. X$(PROJ).exe
  787. X$(LIBS_EXT);
  788. X<<
  789. X    link $(LFLAGS) @$(PROJ).crf
  790. X    del $(PROJ).crf
  791. END_OF_FILE
  792.   if test 1113 -ne `wc -c <'MSDOS/makefile.qc'`; then
  793.     echo shar: \"'MSDOS/makefile.qc'\" unpacked with wrong size!
  794.   fi
  795.   # end of 'MSDOS/makefile.qc'
  796. fi
  797. if test -f 'MSDOS/tcc/unzip.tc.UU' -a "${1}" != "-c" ; then 
  798.   echo shar: Will not clobber existing file \"'MSDOS/tcc/unzip.tc.UU'\"
  799. else
  800.   echo shar: Extracting \"'MSDOS/tcc/unzip.tc.UU'\" \(2367 characters\)
  801.   sed "s/^X//" >'MSDOS/tcc/unzip.tc.UU' <<'END_OF_FILE'
  802. Xbegin 666 MSDOS/tcc/unzip.tc
  803. XM5'5R8F\@0R!#;VYF:6=U<F%T:6]N($9I;&4@&@ !#1(7 1H  @$!  (    "
  804. XM  (  0 #  (  @ $  $   4  0  !@ !   (  $  0D  @    T  @ !  X 
  805. XM @   !$  0 $$@ "    $P " !D %  "  $ %0 "  $ %@ "  ( %P "    
  806. XM&  "    9  !  %E  $  68  0 !9P !  %H  $  6D  0 !:@ !  %K  $ 
  807. XM 6P  0 !;0 !  %N  $  6\  0 !<  !  %Q  $  7(  0 !<P !  %T  $ 
  808. XM 74  0 !=@ !  %W  $  7@  0 !>0 !  %Z  $  7L  0  ?  !  %]  $ 
  809. XM 7X  0 !?P !  &   $  8(  0  A  !  "%  $  <@  0  R0 !  '*  $ 
  810. XM <L  0  S  !  '-  $  ,X  0 !SP !  #0  $ &=$  0!DT@ ! "#5  $ 
  811. XM -<  0  V  !  '9  $  =H  0 !VP !  #<  $  -T  0 !W@ !  '?  $ 
  812. XM .   0  X0 !  #B  $  2P!1                                   
  813. XM                                                         "T!
  814. XM@ !#.EQ40UQ)3D-,541%                                        
  815. XM                                                            
  816. XM                                                     "X!@ !#
  817. XM.EQ40UQ,24(                                                 
  818. XM                                                            
  819. XM                                                 "\!4 !53EI)
  820. XM4"Y04DH                                                     
  821. XM                                         # !!  S,@  ,0$% #(U
  822. XM    ,@$% #$P,   ,P%_                                        
  823. XM                                                            
  824. XM                                                            
  825. XM           T 1X *@                                      -0$>
  826. XM "H                                      #8!'@ J            
  827. XM                           W 1X *@                          
  828. XM            . $> "H                                      #D!
  829. XM'@ J                                       Z 1X *@          
  830. XM                            .P$> "H                         
  831. XM             #P!'@ J                                       ]
  832. XM 8                                                          
  833. XM                                                            
  834. XM                                                       ^ 00 
  835. XM-    #\!4   0U!)0TLN5$-0                                    
  836. XM                                                         $ !
  837. XM1 !#.EQ40P                                                  
  838. XM                                 $$!4 !53EI)4"Y# $,         
  839. XM                                                            
  840. X9                         /__ @ :    
  841. Xend
  842. END_OF_FILE
  843.   if test 2367 -ne `wc -c <'MSDOS/tcc/unzip.tc.UU'`; then
  844.     echo shar: \"'MSDOS/tcc/unzip.tc.UU'\" unpacked with wrong size!
  845.   else
  846.     echo shar: Uudecoding \"'MSDOS/tcc/unzip.tc'\" \(1690 characters\)
  847.     cat MSDOS/tcc/unzip.tc.UU | uudecode
  848.     if test 1690 -ne `wc -c <'MSDOS/tcc/unzip.tc'`; then
  849.       echo shar: \"'MSDOS/tcc/unzip.tc'\" uudecoded with wrong size!
  850.     else
  851.       rm MSDOS/tcc/unzip.tc.UU
  852.     fi
  853.   fi
  854.   # end of 'MSDOS/tcc/unzip.tc.UU'
  855. fi
  856. if test -f 'MSDOS/tcc/unzip_cr.prj' -a "${1}" != "-c" ; then 
  857.   echo shar: Will not clobber existing file \"'MSDOS/tcc/unzip_cr.prj'\"
  858. else
  859.   echo shar: Extracting \"'MSDOS/tcc/unzip_cr.prj'\" \(311 characters\)
  860.   sed "s/^X//" >'MSDOS/tcc/unzip_cr.prj' <<'END_OF_FILE'
  861. Xunzip.c        (unzip.h)
  862. Xcrypt.c         (unzip.h zip.h)
  863. Xexplode.c       (unzip.h)
  864. Xextract.c       (unzip.h)
  865. Xfile_io.c       (unzip.h)
  866. Xinflate.c       (unzip.h)
  867. Xmapname.c       (unzip.h)
  868. Xmatch.c         (unzip.h)
  869. Xmisc.c          (unzip.h)
  870. Xunreduce.c      (unzip.h)
  871. Xunshrink.c      (unzip.h)
  872. Xenvargs.c       (unzip.h)
  873. END_OF_FILE
  874.   if test 311 -ne `wc -c <'MSDOS/tcc/unzip_cr.prj'`; then
  875.     echo shar: \"'MSDOS/tcc/unzip_cr.prj'\" unpacked with wrong size!
  876.   fi
  877.   # end of 'MSDOS/tcc/unzip_cr.prj'
  878. fi
  879. if test -f 'MSDOS/tcc/unzip_cr.tc.UU' -a "${1}" != "-c" ; then 
  880.   echo shar: Will not clobber existing file \"'MSDOS/tcc/unzip_cr.tc.UU'\"
  881. else
  882.   echo shar: Extracting \"'MSDOS/tcc/unzip_cr.tc.UU'\" \(2370 characters\)
  883.   sed "s/^X//" >'MSDOS/tcc/unzip_cr.tc.UU' <<'END_OF_FILE'
  884. Xbegin 666 MSDOS/tcc/unzip_cr.tc
  885. XM5'5R8F\@0R!#;VYF:6=U<F%T:6]N($9I;&4@&@ !#1(7 1H  @$!  (    "
  886. XM  (  0 #  (  @ $  $   4  0  !@ !   (  $  0D  @    T  @ !  X 
  887. XM @   !$  0 $$@ "    $P " !D %  "  $ %0 "  $ %@ "  ( %P "    
  888. XM&  "    9  !  %E  $  68  0 !9P !  %H  $  6D  0 !:@ !  %K  $ 
  889. XM 6P  0 !;0 !  %N  $  6\  0 !<  !  %Q  $  7(  0 !<P !  %T  $ 
  890. XM 74  0 !=@ !  %W  $  7@  0 !>0 !  %Z  $  7L  0  ?  !  %]  $ 
  891. XM 7X  0 !?P !  &   $  8(  0  A  !  "%  $  <@  0  R0 !  '*  $ 
  892. XM <L  0  S  !  '-  $  ,X  0 !SP !  #0  $ &=$  0!DT@ ! "#5  $ 
  893. XM -<  0  V  !  '9  $  =H  0 !VP !  #<  $  -T  0 !W@ !  '?  $ 
  894. XM .   0  X0 !  #B  $  2P!1                                   
  895. XM                                                         "T!
  896. XM@ !#.EQ40UQ)3D-,541%                                        
  897. XM                                                            
  898. XM                                                     "X!@ !#
  899. XM.EQ40UQ,24(                                                 
  900. XM                                                            
  901. XM                                                 "\!4 !53EI)
  902. XM4%]#4BY04DH                                                 
  903. XM                                         # !!  S,@  ,0$% #(U
  904. XM    ,@$% #$P,   ,P%_ $-265!4                                
  905. XM                                                            
  906. XM                                                            
  907. XM           T 1X *@                                      -0$>
  908. XM "H                                      #8!'@ J            
  909. XM                           W 1X *@                          
  910. XM            . $> "H                                      #D!
  911. XM'@ J                                       Z 1X *@          
  912. XM                            .P$> "H                         
  913. XM             #P!'@ J                                       ]
  914. XM 8                                                          
  915. XM                                                            
  916. XM                                                       ^ 00 
  917. XM-    #\!4   0U!)0TLN5$-0                                    
  918. XM                                                         $ !
  919. XM1 !#.EQ40P                                                  
  920. XM                                 $$!4 !53EI)4"Y#            
  921. XM                                                            
  922. X9                         /__ @ :    
  923. Xend
  924. END_OF_FILE
  925.   if test 2370 -ne `wc -c <'MSDOS/tcc/unzip_cr.tc.UU'`; then
  926.     echo shar: \"'MSDOS/tcc/unzip_cr.tc.UU'\" unpacked with wrong size!
  927.   else
  928.     echo shar: Uudecoding \"'MSDOS/tcc/unzip_cr.tc'\" \(1690 characters\)
  929.     cat MSDOS/tcc/unzip_cr.tc.UU | uudecode
  930.     if test 1690 -ne `wc -c <'MSDOS/tcc/unzip_cr.tc'`; then
  931.       echo shar: \"'MSDOS/tcc/unzip_cr.tc'\" uudecoded with wrong size!
  932.     else
  933.       rm MSDOS/tcc/unzip_cr.tc.UU
  934.     fi
  935.   fi
  936.   # end of 'MSDOS/tcc/unzip_cr.tc.UU'
  937. fi
  938. if test -f 'MSDOS/tcc/zi_make.bat' -a "${1}" != "-c" ; then 
  939.   echo shar: Will not clobber existing file \"'MSDOS/tcc/zi_make.bat'\"
  940. else
  941.   echo shar: Extracting \"'MSDOS/tcc/zi_make.bat'\" \(255 characters\)
  942.   sed "s/^X//" >'MSDOS/tcc/zi_make.bat' <<'END_OF_FILE'
  943. Xtcc -c -w -K -G -a -d -O -Z zipinfo.c envargs.c match.c
  944. Xtcc -c -w -K -G -a -d -O -Z -DZIPINFO -omisc_.obj misc.c
  945. Xtcc -K -G -a -d -O -Z zipinfo.obj envargs.obj match.obj misc_.obj
  946. Xrem del zipinfo.obj
  947. Xrem del match.obj
  948. Xrem del misc_.obj
  949. Xrem del envargs.obj
  950. END_OF_FILE
  951.   if test 255 -ne `wc -c <'MSDOS/tcc/zi_make.bat'`; then
  952.     echo shar: \"'MSDOS/tcc/zi_make.bat'\" unpacked with wrong size!
  953.   fi
  954.   # end of 'MSDOS/tcc/zi_make.bat'
  955. fi
  956. if test -f 'MSDOS/tcc/zipinfo.tc.UU' -a "${1}" != "-c" ; then 
  957.   echo shar: Will not clobber existing file \"'MSDOS/tcc/zipinfo.tc.UU'\"
  958. else
  959.   echo shar: Extracting \"'MSDOS/tcc/zipinfo.tc.UU'\" \(2369 characters\)
  960.   sed "s/^X//" >'MSDOS/tcc/zipinfo.tc.UU' <<'END_OF_FILE'
  961. Xbegin 666 MSDOS/tcc/zipinfo.tc
  962. XM5'5R8F\@0R!#;VYF:6=U<F%T:6]N($9I;&4@&@ !#1(7 1H  @$!  (    "
  963. XM  (  0 #  (  @ $  $   4  0  !@ !   (  $  0D  @    T  @ !  X 
  964. XM @   !$  0 $$@ "    $P " !D %  "  $ %0 "  $ %@ "  ( %P "    
  965. XM&  "    9  !  %E  $  68  0 !9P !  %H  $  6D  0 !:@ !  %K  $ 
  966. XM 6P  0 !;0 !  %N  $  6\  0 !<  !  %Q  $  7(  0 !<P !  %T  $ 
  967. XM 74  0 !=@ !  %W  $  7@  0 !>0 !  %Z  $  7L  0  ?  !  %]  $ 
  968. XM 7X  0 !?P !  &   $  8(  0  A  !  "%  $  <@  0  R0 !  '*  $ 
  969. XM <L  0  S  !  '-  $  ,X  0 !SP !  #0  $ &=$  0!DT@ ! "#5  $ 
  970. XM -<  0  V  !  '9  $  =H  0 !VP !  #<  $  -T  0 !W@ !  '?  $ 
  971. XM .   0  X0 !  #B  $  2P!1                                   
  972. XM                                                         "T!
  973. XM@ !#.EQ40UQ)3D-,541%                                        
  974. XM                                                            
  975. XM                                                     "X!@ !#
  976. XM.EQ40UQ,24(                                                 
  977. XM                                                            
  978. XM                                                 "\!4 !:25!)
  979. XM3D9/+E!22@                                                  
  980. XM                                         # !!  S,@  ,0$% #(U
  981. XM    ,@$% #$P,   ,P%_ %I)4$E.1D\                             
  982. XM                                                            
  983. XM                                                            
  984. XM           T 1X *@                                      -0$>
  985. XM "H                                      #8!'@ J            
  986. XM                           W 1X *@                          
  987. XM            . $> "H                                      #D!
  988. XM'@ J                                       Z 1X *@          
  989. XM                            .P$> "H                         
  990. XM             #P!'@ J                                       ]
  991. XM 8                                                          
  992. XM                                                            
  993. XM                                                       ^ 00 
  994. XM-    #\!4   0U!)0TLN5$-0                                    
  995. XM                                                         $ !
  996. XM1 !#.EQ40P                                                  
  997. XM                                 $$!4 !:25!)3D9/+D,         
  998. XM                                                            
  999. X9                         /__ @ :    
  1000. Xend
  1001. END_OF_FILE
  1002.   if test 2369 -ne `wc -c <'MSDOS/tcc/zipinfo.tc.UU'`; then
  1003.     echo shar: \"'MSDOS/tcc/zipinfo.tc.UU'\" unpacked with wrong size!
  1004.   else
  1005.     echo shar: Uudecoding \"'MSDOS/tcc/zipinfo.tc'\" \(1690 characters\)
  1006.     cat MSDOS/tcc/zipinfo.tc.UU | uudecode
  1007.     if test 1690 -ne `wc -c <'MSDOS/tcc/zipinfo.tc'`; then
  1008.       echo shar: \"'MSDOS/tcc/zipinfo.tc'\" uudecoded with wrong size!
  1009.     else
  1010.       rm MSDOS/tcc/zipinfo.tc.UU
  1011.     fi
  1012.   fi
  1013.   # end of 'MSDOS/tcc/zipinfo.tc.UU'
  1014. fi
  1015. if test -f 'NT/makefile.nt' -a "${1}" != "-c" ; then 
  1016.   echo shar: Will not clobber existing file \"'NT/makefile.nt'\"
  1017. else
  1018.   echo shar: Extracting \"'NT/makefile.nt'\" \(1607 characters\)
  1019.   sed "s/^X//" >'NT/makefile.nt' <<'END_OF_FILE'
  1020. X# NMAKE Makefile
  1021. X# D. Feinleib 7/92 t-davefe@microsoft.com
  1022. X# Windows NT
  1023. X
  1024. X# Nmake macros for building Windows NT applications
  1025. X!include <ntwin32.mak>
  1026. X
  1027. XCRYPTF=
  1028. XCRYPTO=
  1029. X# For decryption version, uncomment next two lines:
  1030. X# CRYPTF=-DCRYPT
  1031. X# CRYPTO=CRYPT.obj
  1032. X
  1033. XPROJ=unzip
  1034. XOBJA=ENVARGS.obj EXPLODE.obj EXTRACT.obj FILE_IO.obj INFLATE.obj
  1035. XOBJB=MAPNAME.obj MATCH.obj MISC.obj UNREDUCE.obj UNSHRINK.obj UNZIP.obj
  1036. X
  1037. XOBJ=$(OBJA) $(OBJB) $(CRYPTO)
  1038. X
  1039. Xcvars=$(cvars) $(CRYPTF)
  1040. X
  1041. Xall : UNZIP.exe
  1042. X
  1043. XCRYPT.obj : CRYPT.c
  1044. X    $(cc) $(cflags) $(cvars) CRYPT.c
  1045. X    $(cvtobj) CRYPT.obj
  1046. X
  1047. XENVARGS.obj : ENVARGS.c
  1048. X    $(cc) $(cflags) $(cvars) ENVARGS.c
  1049. X    $(cvtobj) ENVARGS.obj
  1050. X
  1051. XEXPLODE.obj : EXPLODE.c
  1052. X    $(cc) $(cflags) $(cvars) EXPLODE.c
  1053. X    $(cvtobj) EXPLODE.obj
  1054. X
  1055. XEXTRACT.obj : EXTRACT.c
  1056. X    $(cc) $(cflags) $(cvars) EXTRACT.c
  1057. X    $(cvtobj) EXTRACT.obj
  1058. X
  1059. XFILE_IO.obj : FILE_IO.c
  1060. X    $(cc) $(cflags) $(cvars) FILE_IO.c
  1061. X    $(cvtobj) FILE_IO.obj
  1062. X
  1063. XINFLATE.obj : INFLATE.c
  1064. X    $(cc) $(cflags) $(cvars) INFLATE.c
  1065. X    $(cvtobj) INFLATE.obj
  1066. X
  1067. XMAPNAME.obj : MAPNAME.c
  1068. X    $(cc) $(cflags) $(cvars) MAPNAME.c
  1069. X    $(cvtobj) MAPNAME.obj
  1070. X
  1071. XMATCH.obj : MATCH.c
  1072. X    $(cc) $(cflags) $(cvars) MATCH.c
  1073. X    $(cvtobj) MATCH.obj
  1074. X
  1075. XMISC.obj : MISC.c
  1076. X    $(cc) $(cflags) $(cvars) MISC.c
  1077. X    $(cvtobj) MISC.obj
  1078. X
  1079. XUNREDUCE.obj : UNREDUCE.c
  1080. X    $(cc) $(cflags) $(cvars) UNREDUCE.c
  1081. X    $(cvtobj) UNREDUCE.obj
  1082. X
  1083. XUNSHRINK.obj : UNSHRINK.c
  1084. X    $(cc) $(cflags) $(cvars) UNSHRINK.c
  1085. X    $(cvtobj) UNSHRINK.obj
  1086. X
  1087. XUNZIP.obj : UNZIP.c
  1088. X    $(cc) $(cflags) $(cvars) UNZIP.c
  1089. X    $(cvtobj) UNZIP.obj
  1090. X
  1091. XUNZIP.exe : $(OBJ)
  1092. X    $(link) $(conflags) -out:$(PROJ).exe $(OBJ) $(conlibs)
  1093. END_OF_FILE
  1094.   if test 1607 -ne `wc -c <'NT/makefile.nt'`; then
  1095.     echo shar: \"'NT/makefile.nt'\" unpacked with wrong size!
  1096.   fi
  1097.   # end of 'NT/makefile.nt'
  1098. fi
  1099. if test -f 'VMS/Contents' -a "${1}" != "-c" ; then 
  1100.   echo shar: Will not clobber existing file \"'VMS/Contents'\"
  1101. else
  1102.   echo shar: Extracting \"'VMS/Contents'\" \(1609 characters\)
  1103.   sed "s/^X//" >'VMS/Contents' <<'END_OF_FILE'
  1104. XContents of the VMS sub-archive for UnZip 5.0 and later:
  1105. X
  1106. X  Contents                   this file
  1107. X  VMS.notes                  general VMS info about installing and using UnZip
  1108. X  unzip.rnh                  UnZip manual page, RUNOFF format
  1109. X  vms.c                      VMS file manipulation code
  1110. X  make_gcc_unzip.com         command file to compile UnZip and ZipInfo w/ GNU C
  1111. X  make_vaxc_unzip.com        command file to compile UnZip and ZipInfo w/ VAX C
  1112. X  makefile                   MAKE/VMS makefile for UnZip and ZipInfo
  1113. X  descrip.mms                MMS makefile for UnZip and ZipInfo
  1114. X  vmsshare.opt               options file used in descrip.mms
  1115. X  bilf/bilf.c                BILF source code
  1116. X  bilf/bilf.exe              BILF executable (binary)
  1117. X  bilf/make_bilf.com         command file to compile BILF with VAX C
  1118. X
  1119. XBILF may be required for older zipfiles or for those created under other
  1120. Xoperating systems.  Instructions for its use are in the source code.
  1121. X
  1122. XThe non-decryption version of UnZip compiles fine with VMS GCC, although
  1123. Xyou may get a lot of warnings (especially for vms.c).  Ignore them; GCC
  1124. Xis hyper-picky.
  1125. X
  1126. XMAKE/VMS v3.4 is Todd Aven's 1989 make utility (Software Sweatshop, NY); his
  1127. Xe-mail address is listed as todd@cincom.umd.edu.  The version used here has two
  1128. Xrevisions by Ned Freed (1989, 1990) and one by Greg Roelofs (1992--options to
  1129. Xuse either creation date or revision date for determining out-of-date-ness).
  1130. XCheck valeria.cs.ucla.edu in /pub/VMS or /infozip for vms_make.zip, or send 
  1131. Xe-mail to zip-bugs@cs.ucla.edu if it's not there.  The original is stored on 
  1132. Xvmsa.oac.uci.edu.
  1133. END_OF_FILE
  1134.   if test 1609 -ne `wc -c <'VMS/Contents'`; then
  1135.     echo shar: \"'VMS/Contents'\" unpacked with wrong size!
  1136.   fi
  1137.   # end of 'VMS/Contents'
  1138. fi
  1139. if test -f 'VMS/bilf/make_bilf.com' -a "${1}" != "-c" ; then 
  1140.   echo shar: Will not clobber existing file \"'VMS/bilf/make_bilf.com'\"
  1141. else
  1142.   echo shar: Extracting \"'VMS/bilf/make_bilf.com'\" \(219 characters\)
  1143.   sed "s/^X//" >'VMS/bilf/make_bilf.com' <<'END_OF_FILE'
  1144. X$ set verify    ! like "echo on", eh?
  1145. X$ cc bilf
  1146. X$ link bilf,sys$input:/opt
  1147. Xsys$share:vaxcrtl.exe/shareable
  1148. X$ ! change the following symbol to "$diskname:[directory]bilf.exe" as approp.
  1149. X$ bilf == "$bilf.exe"
  1150. X$ set noverify
  1151. END_OF_FILE
  1152.   if test 219 -ne `wc -c <'VMS/bilf/make_bilf.com'`; then
  1153.     echo shar: \"'VMS/bilf/make_bilf.com'\" unpacked with wrong size!
  1154.   fi
  1155.   # end of 'VMS/bilf/make_bilf.com'
  1156. fi
  1157. if test -f 'VMS/descrip.mms' -a "${1}" != "-c" ; then 
  1158.   echo shar: Will not clobber existing file \"'VMS/descrip.mms'\"
  1159. else
  1160.   echo shar: Extracting \"'VMS/descrip.mms'\" \(2231 characters\)
  1161.   sed "s/^X//" >'VMS/descrip.mms' <<'END_OF_FILE'
  1162. X!==========================================================================
  1163. X! MMS description file for UnZip 5.0+                          26 June 1992
  1164. X!==========================================================================
  1165. X!
  1166. X!   Original by Antonio Querubin, Jr., <querubin@uhccvx.uhcc.hawaii.edu>
  1167. X!     (23 Dec 90)
  1168. X!   Enhancements by Igor Mandrichenko, <mandrichenko@mx.decnet.ihep.su>
  1169. X!     (9 Feb 92)
  1170. X
  1171. X! To build UnZip that uses shared libraries,
  1172. X!    mms
  1173. X! (One-time users will find it easier to use the MAKE_UNZIP_VAXC.COM command
  1174. X! file, which generates both UnZip and ZipInfo.  Just type "@MAKE_UNZIP_VAXC";
  1175. X! or "@MAKE_UNZIP_GCC" if you have GNU C.)
  1176. X
  1177. X! To build UnZip without shared libraries,
  1178. X!    mms noshare
  1179. X
  1180. X! To delete unnecessary .OBJ files,
  1181. X!    mms clean
  1182. X
  1183. XCRYPTF =
  1184. XCRYPTO =
  1185. X! To build decryption version, uncomment next two lines:
  1186. X!CRYPTF = /def=(CRYPT)
  1187. X!CRYPTO = crypt.obj,
  1188. X
  1189. XCC = cc
  1190. XCFLAGS = $(CRYPTF)
  1191. XLD = link
  1192. XLDFLAGS =
  1193. XEXE =
  1194. XO = .obj;
  1195. XOBJS = unzip$(O), $(CRYPTO) envargs$(O), explode$(O), extract$(O),\
  1196. X       file_io$(O), inflate$(O), mapname$(O), match$(O), misc$(O),\
  1197. X       unreduce$(O), unshrink$(O), vms$(O)
  1198. XOBJI = zipinfo$(O), envargs$(O), match$(O), misc.obj_, vms.obj_
  1199. X
  1200. XLDFLAGS2 =
  1201. X
  1202. Xdefault    :    unzip.exe, zipinfo.exe
  1203. X    @    !    Do nothing.
  1204. X
  1205. Xunzip.exe :    $(OBJS), vmsshare.opt
  1206. X    $(LD) $(LDFLAGS) $(OBJS), \
  1207. X        vmsshare.opt/options
  1208. X
  1209. Xzipinfo.exe :    $(OBJI), vmsshare.opt
  1210. X    $(LD) $(LDFLAGS) $(OBJI), \
  1211. X        vmsshare.opt/options
  1212. X
  1213. X
  1214. Xnoshare :    $(OBJS)
  1215. X    $(LD) $(LDFLAGS) $(OBJS), \
  1216. X        sys$library:vaxcrtl.olb/library $(LDFLAGS2)
  1217. X
  1218. Xclean :
  1219. X    delete $(OBJS)    ! you may want to change this to 'delete *.obj;*'
  1220. X
  1221. Xcrypt$(O) :    crypt.c unzip.h zip.h    ! may or may not be included in distrib
  1222. Xenvargs$(O) :    envargs.c unzip.h
  1223. Xexplode$(O) :    explode.c unzip.h
  1224. Xextract$(O) :    extract.c unzip.h
  1225. Xfile_io$(O) :    file_io.c unzip.h
  1226. Xinflate$(O) :    inflate.c unzip.h
  1227. Xmapname$(O) :    mapname.c unzip.h
  1228. Xmatch$(O) :    match.c unzip.h
  1229. Xmisc$(O) :    misc.c unzip.h
  1230. Xunreduce$(O) :    unreduce.c unzip.h
  1231. Xunshrink$(O) :    unshrink.c unzip.h
  1232. Xunzip$(O) :    unzip.c unzip.h
  1233. Xvms$(O)      :    vms.c unzip.h
  1234. XVMSmunch$(O) :    VMSmunch.c VMSmunch.h
  1235. Xmisc.obj_ :    misc.c unzip.h
  1236. X    $(CC)/object=misc.obj_/define="ZIPINFO" misc.c
  1237. X
  1238. Xvms.obj_ :    vms.c unzip.h
  1239. X    $(CC)/object=vms.obj_/define="ZIPINFO" vms.c
  1240. END_OF_FILE
  1241.   if test 2231 -ne `wc -c <'VMS/descrip.mms'`; then
  1242.     echo shar: \"'VMS/descrip.mms'\" unpacked with wrong size!
  1243.   fi
  1244.   # end of 'VMS/descrip.mms'
  1245. fi
  1246. if test -f 'VMS/make_gcc_unzip.com' -a "${1}" != "-c" ; then 
  1247.   echo shar: Will not clobber existing file \"'VMS/make_gcc_unzip.com'\"
  1248. else
  1249.   echo shar: Extracting \"'VMS/make_gcc_unzip.com'\" \(1347 characters\)
  1250.   sed "s/^X//" >'VMS/make_gcc_unzip.com' <<'END_OF_FILE'
  1251. X$ !
  1252. X$ !        "Makefile" for VMS versions of UnZip and ZipInfo
  1253. X$ !                (version:  GNU C)
  1254. X$ !
  1255. X$ ! Find out current disk and directory
  1256. X$ !
  1257. X$ my_name = f$env("procedure")
  1258. X$ here = f$parse(my_name,,,"device") + f$parse(my_name,,,"directory")
  1259. X$ set verify    ! like "echo on", eh?
  1260. X$ !
  1261. X$ ! Do UnZip:
  1262. X$ !   (for decryption version, add /def=CRYPT to each of following lines,
  1263. X$ !   uncomment crypt compile line, and add crypt to link line)
  1264. X$ !
  1265. X$ gcc unzip
  1266. X$ gcc envargs
  1267. X$ gcc explode
  1268. X$ gcc extract
  1269. X$ gcc file_io
  1270. X$ gcc inflate
  1271. X$ gcc mapname
  1272. X$ gcc match
  1273. X$ gcc misc
  1274. X$ gcc unreduce
  1275. X$ gcc unshrink
  1276. X$ gcc vms
  1277. X$! gcc crypt
  1278. X$ link unzip, envargs, explode, extract, file_io, inflate, mapname,-
  1279. X    match, misc, unreduce, unshrink, vms, gnu_cc:[000000]gcclib.olb/lib,-
  1280. X    sys$input:/opt
  1281. X sys$share:vaxcrtl.exe/shareable
  1282. X$ !
  1283. X$ ! Do ZipInfo:
  1284. X$ !
  1285. X$ gcc zipinfo
  1286. X$ gcc /def=(ZIPINFO) /object=misc_.obj misc
  1287. X$ gcc /def=(ZIPINFO) /object=vms_.obj  vms
  1288. X$ link zipinfo, envargs, match, misc_, vms_, gnu_cc:[000000]gcclib.olb/lib,-
  1289. X    sys$input:/opt
  1290. X sys$share:vaxcrtl.exe/shareable
  1291. X$ !
  1292. X$ ! Next line:  put a similar line (full pathname for unzip.exe and zipinfo.exe)
  1293. X$ ! in login.com.  Remember to include the leading "$" before disk name.
  1294. X$ !
  1295. X$ unzip == "$''here'unzip.exe"        ! set up symbol to use unzip
  1296. X$ zipinfo == "$''here'zipinfo.exe"    ! set up symbol to use zipinfo
  1297. X$ !
  1298. X$ set noverify
  1299. END_OF_FILE
  1300.   if test 1347 -ne `wc -c <'VMS/make_gcc_unzip.com'`; then
  1301.     echo shar: \"'VMS/make_gcc_unzip.com'\" unpacked with wrong size!
  1302.   fi
  1303.   # end of 'VMS/make_gcc_unzip.com'
  1304. fi
  1305. if test -f 'VMS/make_vaxc_unzip.com' -a "${1}" != "-c" ; then 
  1306.   echo shar: Will not clobber existing file \"'VMS/make_vaxc_unzip.com'\"
  1307. else
  1308.   echo shar: Extracting \"'VMS/make_vaxc_unzip.com'\" \(1188 characters\)
  1309.   sed "s/^X//" >'VMS/make_vaxc_unzip.com' <<'END_OF_FILE'
  1310. X$ !
  1311. X$ !        "Makefile" for VMS versions of UnZip and ZipInfo
  1312. X$ !                (version:  VAX C)
  1313. X$ !
  1314. X$ ! Find out current disk and directory
  1315. X$ !
  1316. X$ my_name = f$env("procedure")
  1317. X$ here = f$parse(my_name,,,"device") + f$parse(my_name,,,"directory")
  1318. X$ set verify    ! like "echo on", eh?
  1319. X$ !
  1320. X$ ! Do UnZip:
  1321. X$ !   (for decryption version, add /def=CRYPT to compile line, and add
  1322. X$ !   crypt to both compile and link lines)
  1323. X$ !
  1324. X$ cc unzip, envargs, explode, extract, file_io, inflate, mapname,-
  1325. X    match, misc, unreduce, unshrink, vms
  1326. X$ link unzip, envargs, explode, extract, file_io, inflate, mapname,-
  1327. X    match, misc, unreduce, unshrink, vms, sys$input:/opt
  1328. X sys$share:vaxcrtl.exe/shareable
  1329. X$ !
  1330. X$ ! Do ZipInfo:
  1331. X$ !
  1332. X$ cc zipinfo
  1333. X$ cc /def=(ZIPINFO) /obj=misc_.obj  misc.c
  1334. X$ cc /def=(ZIPINFO) /obj=vms_.obj   vms.c
  1335. X$ link zipinfo, envargs, match, misc_, vms_, sys$input:/opt
  1336. X sys$share:vaxcrtl.exe/shareable
  1337. X$ !
  1338. X$ ! Next line:  put a similar line (full pathname for unzip.exe and zipinfo.exe)
  1339. X$ ! in login.com.  Remember to include the leading "$" before disk name.
  1340. X$ !
  1341. X$ unzip == "$''here'unzip.exe"        ! set up symbol to use unzip
  1342. X$ zipinfo == "$''here'zipinfo.exe"    ! set up symbol to use zipinfo
  1343. X$ !
  1344. X$ set noverify
  1345. END_OF_FILE
  1346.   if test 1188 -ne `wc -c <'VMS/make_vaxc_unzip.com'`; then
  1347.     echo shar: \"'VMS/make_vaxc_unzip.com'\" unpacked with wrong size!
  1348.   fi
  1349.   # end of 'VMS/make_vaxc_unzip.com'
  1350. fi
  1351. if test -f 'VMS/makefile' -a "${1}" != "-c" ; then 
  1352.   echo shar: Will not clobber existing file \"'VMS/makefile'\"
  1353. else
  1354.   echo shar: Extracting \"'VMS/makefile'\" \(2874 characters\)
  1355.   sed "s/^X//" >'VMS/makefile' <<'END_OF_FILE'
  1356. X#============================================================================
  1357. X# Makefile for UnZip & ZipInfo:  VMS                             Greg Roelofs
  1358. X# Version:  5.0 (inflate,explode)                                  7 May 1992
  1359. X#============================================================================
  1360. X
  1361. X# Most recent revisions:  26 June 1992
  1362. X
  1363. X
  1364. X#####################
  1365. X# MACRO DEFINITIONS #
  1366. X#####################
  1367. X
  1368. XCRYPTF =
  1369. XCRYPTO =
  1370. X# Uncomment next two lines for decryption version:
  1371. X#CRYPTF = /def=(CRYPT)
  1372. X#CRYPTO = crypt.obj,
  1373. X
  1374. XCC = cc
  1375. XCFLAGS = $(CRYPTF)            # use "cc $(CFLAGS)" this way
  1376. X# CFLAGS := /def=(FLAG1,FLAG2)        # this also works, if use "cc 'CFLAGS'"
  1377. XZCFLAGS = /def=(ZIPINFO)
  1378. XLD = link
  1379. XLDFLAGS =
  1380. X
  1381. XLN = copy
  1382. XRM = delete
  1383. XE = .exe
  1384. XO = .obj
  1385. X
  1386. XOBJS = unzip$O, $(CRYPTO) envargs$O, explode$O, extract$O, file_io$O,-
  1387. X   inflate$O, mapname$O, match$O, misc$O, unreduce$O, unshrink$O,-
  1388. X   vms$O, sys$input:/opt
  1389. XZI_OBJS = zipinfo$O, envargs$O, match$O, misc$O_, vms$O_, sys$input:/opt
  1390. X
  1391. X
  1392. X###############################################
  1393. X# BASIC COMPILE INSTRUCTIONS AND DEPENDENCIES #
  1394. X###############################################
  1395. X
  1396. Xdefault:    unzip.exe zipinfo.exe
  1397. X
  1398. X*.obj:    *.c                # `*.c' necessary?
  1399. X    $(CC) $(CFLAGS) $<
  1400. X
  1401. X*.obj_:    *.c                # `$*' not legal
  1402. X    $(CC) $(ZCFLAGS) $< /obj=$@
  1403. X
  1404. Xunzip$E:    $(OBJS)
  1405. X    $(LD) $(LDFLAGS) $(OBJS)    # next line is data line
  1406. X    sys$share:vaxcrtl.exe/shareable $
  1407. X
  1408. Xzipinfo$E:    $(ZI_OBJS)
  1409. X    $(LD) $(LDFLAGS) $(ZI_OBJS)    # next line is data line
  1410. X    sys$share:vaxcrtl.exe/shareable $
  1411. X
  1412. Xcrypt$O:        crypt.c unzip.h zip.h    # may or may not be in distribution
  1413. Xenvargs$O:      envargs.c unzip.h
  1414. Xexplode$O:      explode.c unzip.h
  1415. Xextract$O:      extract.c unzip.h
  1416. Xfile_io$O:      file_io.c unzip.h
  1417. Xinflate$O:      inflate.c unzip.h
  1418. Xmapname$O:      mapname.c unzip.h
  1419. Xmatch$O:        match.c unzip.h
  1420. Xmisc$O:         misc.c unzip.h
  1421. Xmisc$O_:    misc.c unzip.h
  1422. Xunreduce$O:     unreduce.c unzip.h
  1423. Xunshrink$O:     unshrink.c unzip.h
  1424. Xunzip$O:        unzip.c unzip.h
  1425. Xvms$O:          vms.c unzip.h
  1426. Xvms$O_:         vms.c unzip.h
  1427. XVMSmunch$O:     VMSmunch.c VMSmunch.h
  1428. Xzipinfo$O:    zipinfo.c unzip.h
  1429. X
  1430. X# system: ${SYSDIR}make.exe ${SYSDIR}make.ini
  1431. X# debug:
  1432. X#     cflags := /debug/noopt
  1433. X#     lflags := /debug
  1434. X# ${DISTDIR}unzip.exe: unzip.exe
  1435. X#    copy unzip.exe ${DISTDIR}/log
  1436. X
  1437. Xclean:
  1438. X    purge/log
  1439. X#    purge/log ${DISTDIR}
  1440. X
  1441. X
  1442. X# the backslash '\' is the continuation character if it occurs as
  1443. X# the last non-white character on the line.
  1444. X# the hyphen '-' is the DCL continuation character, so if it occurs
  1445. X# as the last non-white character on the line, the next line will
  1446. X# not have the dollar sign '$' prepended.
  1447. X
  1448. X
  1449. X################################
  1450. X# INDIVIDUAL MACHINE MAKERULES #
  1451. X################################
  1452. X
  1453. Xgeneric:    default        # first try if unknown
  1454. Xgeneric2:    default        # second try if unknown
  1455. Xvax:        default
  1456. Xvms:        default
  1457. X
  1458. Xboth:        unzip.exe zipinfo.exe
  1459. Xunzip:        unzip.exe
  1460. Xzipinfo:    zipinfo.exe
  1461. END_OF_FILE
  1462.   if test 2874 -ne `wc -c <'VMS/makefile'`; then
  1463.     echo shar: \"'VMS/makefile'\" unpacked with wrong size!
  1464.   fi
  1465.   # end of 'VMS/makefile'
  1466. fi
  1467. if test -f 'funzip.1' -a "${1}" != "-c" ; then 
  1468.   echo shar: Will not clobber existing file \"'funzip.1'\"
  1469. else
  1470.   echo shar: Extracting \"'funzip.1'\" \(1974 characters\)
  1471.   sed "s/^X//" >'funzip.1' <<'END_OF_FILE'
  1472. X.TH FUNZIP 1 "19 Aug 92 (v1.3)"
  1473. X.SH NAME
  1474. Xfunzip \- extract from a ZIP archive file as a filter
  1475. X.SH SYNOPSIS
  1476. X[...]  |  \fBfunzip\fP [ password ]  |  [...]
  1477. X.SH ARGUMENTS
  1478. X.IP [\fIpassword\fP] \w'[\fIpassword\fP]'u+2m
  1479. XOptional password to be used if ZIP archive is encrypted.  Decryption
  1480. Xmay not be supported at some sites.  See DESCRIPTION for more details.
  1481. X.PD
  1482. X.SH DESCRIPTION
  1483. X.I FUnZip
  1484. Xacts as a filter; that is, it assumes that a ZIP archive is being piped into
  1485. Xstandard input, and it extracts the first member from the archive to stdout.
  1486. XGiven the limitation on single-member extraction, \fIFUnZip\fP is most
  1487. Xuseful in conjunction with a secondary archiver program such as tar(1).
  1488. XThe following section includes an example illustrating this usage in the
  1489. Xcase of disk backups to tape.
  1490. X.PD
  1491. X.SH EXAMPLES
  1492. XTo use \fIFUnZip\fP to extract the first member file of the archive test.zip
  1493. Xand to pipe it into more(1):
  1494. X.PP
  1495. X.IP "\t\fIfunzip\fP < test.zip | more"
  1496. X.PP
  1497. XTo use \fIFUnZip\fP to test the first member file of test.zip (any errors
  1498. Xwill be reported on standard error):
  1499. X.PP
  1500. X.IP "\t\fIfunzip\fP < test.zip > /dev/null"
  1501. X.PP
  1502. XTo use \fIZip\fP and \fIFUnZip\fP in place of compress(1) and zcat(1) for
  1503. Xtape backups:
  1504. X.PP
  1505. X.IP "\ttar cf \- . | \fIzip\fP \-7 | dd of=/dev/nrst0 obs=8k"
  1506. X.IP "\tdd if=/dev/nrst0 ibs=8k | \fIfunzip\fP | tar xf \-"
  1507. X.PP
  1508. X(where, for example, nrst0 is a SCSI tape drive).
  1509. X.PD
  1510. X.SH LIMITATIONS
  1511. XThere is presently no way to extract any member but the first from a ZIP
  1512. Xarchive.  This would be useful in the case where a ZIP archive is included
  1513. Xwithin another archive.
  1514. X.PP
  1515. XAn alternate mechanism for passing the password to \fIFUnZip\fP would
  1516. Xbe preferable to putting it on the command line.
  1517. X.PP
  1518. X\fIFUnZip\fP would be useful under OS/2, too.
  1519. X.PP
  1520. XThe functionality of \fIFUnZip\fP should be included in \fIUnZip\fP
  1521. Xdirectly (future release).
  1522. X.PD
  1523. X.SH SEE ALSO
  1524. Xunzip(1), zip(1), zipcloak(1), zipinfo(1), zipnote(1), zipsplit(1)
  1525. X.PD
  1526. X.SH AUTHOR
  1527. XMark Adler (Info-ZIP)
  1528. X.PD
  1529. END_OF_FILE
  1530.   if test 1974 -ne `wc -c <'funzip.1'`; then
  1531.     echo shar: \"'funzip.1'\" unpacked with wrong size!
  1532.   fi
  1533.   # end of 'funzip.1'
  1534. fi
  1535. if test -f 'funzip.doc' -a "${1}" != "-c" ; then 
  1536.   echo shar: Will not clobber existing file \"'funzip.doc'\"
  1537. else
  1538.   echo shar: Extracting \"'funzip.doc'\" \(2249 characters\)
  1539.   sed "s/^X//" >'funzip.doc' <<'END_OF_FILE'
  1540. X
  1541. XFUNZIP(1)                USER COMMANDS                  FUNZIP(1)
  1542. X
  1543. XNAME
  1544. X     funzip - extract from a ZIP archive file as a filter
  1545. X
  1546. XSYNOPSIS
  1547. X     [...]  |  funzip [ password ]  |  [...]
  1548. X
  1549. XARGUMENTS
  1550. X     [password]  Optional password to be used if ZIP  archive  is
  1551. X                 encrypted.   Decryption  may not be supported at
  1552. X                 some sites.  See DESCRIPTION for more details.
  1553. X
  1554. XDESCRIPTION
  1555. X     FUnZip acts as a filter; that is,  it  assumes  that  a  ZIP
  1556. X     archive  is being piped into standard input, and it extracts
  1557. X     the first member from the archive to stdout.  Given the lim-
  1558. X     itation  on  single-member extraction, FUnZip is most useful
  1559. X     in conjunction with a secondary  archiver  program  such  as
  1560. X     tar(1).   The  following  section includes an example illus-
  1561. X     trating this usage in the case of disk backups to tape.
  1562. X
  1563. XEXAMPLES
  1564. X     To use FUnZip to  extract  the  first  member  file  of  the
  1565. X     archive test.zip and to pipe it into more(1):
  1566. X
  1567. X          funzip < test.zip | more
  1568. X
  1569. X     To use FUnZip to test the first member file of test.zip (any
  1570. X     errors will be reported on standard error):
  1571. X
  1572. X          funzip < test.zip > /dev/null
  1573. X
  1574. X     To use Zip and FUnZip in place of  compress(1)  and  zcat(1)
  1575. X     for tape backups:
  1576. X
  1577. X          tar cf - . | zip -7 | dd of=/dev/nrst0 obs=8k
  1578. X
  1579. X          dd if=/dev/nrst0 ibs=8k | funzip | tar xf -
  1580. X
  1581. X     (where, for example, nrst0 is a SCSI tape drive).
  1582. X
  1583. XLIMITATIONS
  1584. X     There is presently no way to  extract  any  member  but  the
  1585. X     first  from a ZIP archive.  This would be useful in the case
  1586. X     where a ZIP archive is included within another archive.
  1587. X
  1588. X     An alternate mechanism for passing the  password  to  FUnZip
  1589. X     would be preferable to putting it on the command line.
  1590. X
  1591. X     FUnZip would be useful under OS/2, too.
  1592. X
  1593. X     The functionality of FUnZip  should  be  included  in  UnZip
  1594. X     directly (future release).
  1595. X
  1596. XInfo-ZIP          Last change: 19 Aug 92 (v1.3)                 1
  1597. X
  1598. XFUNZIP(1)                USER COMMANDS                  FUNZIP(1)
  1599. X
  1600. XSEE ALSO
  1601. X     unzip(1),  zip(1),  zipcloak(1),   zipinfo(1),   zipnote(1),
  1602. X     zipsplit(1)
  1603. X
  1604. XAUTHOR
  1605. X     Mark Adler (Info-ZIP)
  1606. X
  1607. XInfo-ZIP          Last change: 19 Aug 92 (v1.3)                 2
  1608. X
  1609. END_OF_FILE
  1610.   if test 2249 -ne `wc -c <'funzip.doc'`; then
  1611.     echo shar: \"'funzip.doc'\" unpacked with wrong size!
  1612.   fi
  1613.   # end of 'funzip.doc'
  1614. fi
  1615. echo shar: End of archive 13 \(of 14\).
  1616. cp /dev/null ark13isdone
  1617. MISSING=""
  1618. for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ; do
  1619.     if test ! -f ark${I}isdone ; then
  1620.     MISSING="${MISSING} ${I}"
  1621.     fi
  1622. done
  1623. if test "${MISSING}" = "" ; then
  1624.     echo You have unpacked all 14 archives.
  1625.     rm -f ark[1-9]isdone ark[1-9][0-9]isdone
  1626. else
  1627.     echo You still must unpack the following archives:
  1628.     echo "        " ${MISSING}
  1629. fi
  1630. exit 0
  1631. exit 0 # Just in case...
  1632.