home *** CD-ROM | disk | FTP | other *** search
Text File | 1992-08-22 | 59.2 KB | 1,354 lines |
- Newsgroups: comp.sources.misc
- From: zip-bugs@cs.ucla.edu (Info-ZIP group)
- Subject: v31i113: unzip50 - Info-ZIP portable UnZip, version 5.0, Part10/14
- Message-ID: <1992Aug24.025724.25125@sparky.imd.sterling.com>
- X-Md4-Signature: cdd89425358d52baa5888763c678e518
- Date: Mon, 24 Aug 1992 02:57:24 GMT
- Approved: kent@sparky.imd.sterling.com
-
- Submitted-by: zip-bugs@cs.ucla.edu (Info-ZIP group)
- Posting-number: Volume 31, Issue 113
- Archive-name: unzip50/part10
- Supersedes: unzip: Volume 29, Issue 31-42
- Environment: UNIX, VMS, OS/2, MS-DOS, MACINTOSH, WIN-NT, LINUX, MINIX, COHERENT AMIGA?, !ATARI, symlink, SGI, DEC, Cray, Convex, Amdahl, Sun
-
- #! /bin/sh
- # This is a shell archive. Remove anything before this line, then feed it
- # into a shell via "sh file" or similar. To overwrite existing files,
- # type "sh file -c".
- # The tool that generated this appeared in the comp.sources.unix newsgroup;
- # send mail to comp-sources-unix@uunet.uu.net if you want that tool.
- # Contents: Contents History.500 MSDOS/bcc/unzip.prj.UU
- # MSDOS/bcc/unzip_cr.prj.UU MSDOS/bcc/zipinfo.prj.UU OS2/os2unzip.c
- # Wrapped by kent@sparky on Sun Aug 23 21:09:35 1992
- PATH=/bin:/usr/bin:/usr/ucb ; export PATH
- echo If this archive is complete, you will see the following message:
- echo ' "shar: End of archive 10 (of 14)."'
- if test -f 'Contents' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'Contents'\"
- else
- echo shar: Extracting \"'Contents'\" \(2945 characters\)
- sed "s/^X//" >'Contents' <<'END_OF_FILE'
- XContents of the UnZip 5.0 archive (the OS-specific subdirectories at the
- Xend contain their own Contents listings):
- X
- X Contents this file
- X Readme what UnZip is; general information
- X Where where Zip/UnZip and encryption/decryption support can be found
- X History.500 new features and fixes in this release
- X ZipRules Info-ZIP guidelines on contributions to the cause
- X BUGS known bugs, problems, and (possible) features to be added
- X unzip.1 UnZip manual page, nroff format
- X unzip.doc UnZip manual page, human-readable format
- X zipinfo.1 ZipInfo manual page, nroff format
- X zipinfo.doc ZipInfo manual page, human-readable format
- X funzip.1 FUnZip manual page, nroff format
- X funzip.doc FUnZip manual page, human-readable format
- X CONTRIBS list of contributors to UnZip
- X COPYING copyrights and distribution policy
- X crypt.c NOT INCLUDED: see "Where" file for sites
- X envargs.c code to read options from UNZIP environment var. (required*)
- X explode.c code for exploding (required)
- X extract.c high-level extraction and decryption code (required)
- X file_io.c file manipulation and password code (required)
- X funzip.c filter unzip: extracts in a Unix pipe (not fully supported)
- X inflate.c code for inflating (required)
- X mapname.c code to map filenames between different OS's (required)
- X match.c pattern-matching code for filename wildcards (required*)
- X misc.c various support routines (required*)
- X unreduce.c code for unReducing (required)
- X unshrink.c code for unShrinking (required)
- X unzip.c main UnZip driver code (required)
- X unzip.h main UnZip header file (required*)
- X zip.h header for using crypt.c with UnZip (required for decryption)
- X zipinfo.c zipfile information utility (useful, but optional)
- X Makefile main Unix and OS/2 makefile (required)
- X AMIGA/ support files for compiling on Amiga (not recently tested)
- X ATARI/ support files for compiling v4.1 on Atari ST
- X MAC/ support files for compiling on Macintosh
- X MSDOS/ support files for compiling under MS-DOS
- X NT/ support files for compiling under Windows NT
- X OS2/ support files for compiling under OS/2
- X VMS/ support files for compiling under VMS
- X
- XFiles marked "required*" are also needed to compile ZipInfo. There are Unix
- Xand MS-DOS targets to make ZipInfo in Makefile (zipinfo, zi_indigo, zi_gcc,
- Xzi_dos). FUnZip is a new, last-minute program of limited capabilities; for
- Xnow, it can only extract the first member in a zipfile from stdin and send
- Xit to stdout, and only if the member is either deflated or stored. It will
- Xprobably have evolved by the time you read this, and it may even be absorbed
- Xinto UnZip itself.
- X
- XThe Atari ST support is in the form of patches against UnZip 4.1; there
- Xare more details in the ATARI sub-archive Contents file. Amiga support
- Xhas not been tested since version 4.1 or earlier (the makefiles, however,
- Xhave been updated to reflect the new code structure, and any changes
- Xrequired shouldn't be TOO extensive).
- END_OF_FILE
- if test 2945 -ne `wc -c <'Contents'`; then
- echo shar: \"'Contents'\" unpacked with wrong size!
- fi
- # end of 'Contents'
- fi
- if test -f 'History.500' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'History.500'\"
- else
- echo shar: Extracting \"'History.500'\" \(11988 characters\)
- sed "s/^X//" >'History.500' <<'END_OF_FILE'
- XUnZip version 5.0, 22 August 1992
- X
- XNew features, you betcha:
- X
- X - inflation [Mark Adler]
- X - unimploding (exploding) rewritten--much faster, no copyright restrictions
- X [Mark Adler]
- X - updated makefiles for inflation and explosion [Jean-loup Gailly, Glenn
- X Andrews, Mark Adler, CN, ...]
- X - multiple password guessing [CN, Mark Adler]
- X - OS/2: extended attributes code, including decompression [Kai Uwe Rommel]
- X - MS-DOS: Quick C makefile [Richard Seay]
- X - new public domain version of match.c to replace copyrighted SEA version
- X [J. Kercheval, David Kirschbaum]
- X - INBUFSIZ may be changed on compile line (e.g., -DINBUFSIZ=8192) [Steve
- X Salisbury]
- X - Mac: new extra-field resource fork stuff [Johnny Lee]
- X - VMS: f*def.h header files included within VMSmunch.h for neatness [CN]
- X - new zipinfo formats (well, slightly different), including the default,
- X allowing longer filenames without wrapping [CN]
- X - special file perms (sticky bits, etc.) now restored properly (with excep-
- X tion of compressed symlinks, as noted in BUGS) [Mark Adler, CN]
- X - Linux support [Humberto Ortiz-Zuazaga]
- X - MS-DOS: gcc support (DJ DeLorie's) [Onno van der Linden]
- X - UNZIP/ZIPINFO environment variable support [CN, Bill Davidsen]
- X - smarter zipinfo defaults, including optional header and totals lines [CN]
- X - zipinfo OS/2 EA information [Kai Uwe Rommel]
- X - Convex C-120, C-210 targets added [Rafal Maszkowski]
- X - signal handler for restoring echo if ^C during password, catch segmentation
- X violations/bus errors [Mark Adler, CN]
- X - VMS: RMS services used for (nearly) everything, instead of QIO/ACP [Igor]
- X - MS-DOS: Borland C++ makefile to replace individual unzip{_cr}, zipinfo
- X ones [Alvin Koh, David Kirschbaum]
- X - MS-DOS: new Turbo C project files and zipinfo batch file [Charles Scripter]
- X - VMS: added overwrite/create-new capability for existing files [Igor]
- X - Cray scc v3.0 target added [CN]
- X - Olivetti X/OS target added [Fulvio Marino]
- X - OS/2: makefile.os2 provided in lieu of OS/2 targets in Makefile [Kai Uwe]
- X - "all" and "install" targets added to main Makefile [CN, Mark, Alvin Koh]
- X - MS-DOS: massive Windows port (only patches to existing source included;
- X also need stand-alone Windows sources from wunz12sr.zip) [Robert Heath,
- X Johnny Lee]
- X - OS/2: added support for Watcom C/386 9.0, in addition to Microsoft C 6.0,
- X IBM C Set/2, and gcc/emx [Kai Uwe]
- X - AT&T 6300+/SysV target added [Peter Mauzey]
- X - Windows NT port [David Feinleib]
- X - reprompt for overwrite instead of assuming "n" if user error [Mark, Mike
- X Freeman]
- X - new (*very* new) funzip.c: read zipfile from stdin, extract first member
- X to stdout (now includes decryption, too) [Mark]
- X - funzip man page, Where file [CN]
- X - 386BSD 0.1 support added [Onno van der Linden]
- X
- XBugs fixed:
- X
- X - MS-DOS: incorrect use of FP_ macros in dateformat() fixed [Steve Salisbury]
- X - dateformat() only called once now [Steve Salisbury, CN]
- X - "#if defined(x) || defined(y)" causes problems with some compilers (Borland
- X C++ 3); globally replaced with "#if (defined(x) || defined(y))" [Alvin Koh]
- X - "Deflating" message corrected to "Inflating" [James Birdsall]
- X - GNU C prototype conflicts fixed (crypt.c, file_io.c) [Jean-loup Gailly]
- X - OS/2: stderr needs fflush for IBM C Set/2 compiler (as did Amiga); added
- X for all compilers except Mac Progammer's Workbench [CN, Jon Saxton]
- X - VMS: multiple-dot filenames now converted properly [Igor Mandrichenko]
- X - decryption version: time.h now only included in unzip.h, not crypt.c
- X (requires crypt.c "v1.5" or later) [CN, Jean-loup Gailly]
- X - changed use of obsolescent S_IEXEC to S_IXUSR [Humberto Ortiz-Zuazaga]
- X - SCO optimization bug in unshrink fixed [Onno van der Linden]
- X - aviion target moved to _sysv section of makefile for password echoing
- X [CN, Benjamin Goldsteen]
- X - less reliance on __STDC__; now using zip's MODERN and PROTO macros [CN,
- X Mark Adler, ...]
- X - stdlib.h not included for buggy compilers which define __STDC__ anyway
- X (GNU C, Apollo) [CN]
- X - MS-DOS: multiple dots in filenames handled correctly [CN]
- X - corrected explode(), matche_...() prototypes [various people]
- X - changed zipinfo targets in Makefile to use ln or copy rather than
- X mv/rename for misc_.c [Kjetil J{\o}rgenson]
- X - corrected (or attempted to correct) zipinfo project files for Borland
- X (misc_.obj, -DZIPINFO) [CN, Jean-loup]
- X - updated BCC .mak files for unzip 5.0 [Alvin Koh]
- X - MS-DOS: rewrote msc_dos target in Makefile to get back under DOS 128-
- X character command-line limit (I hope) [CN]
- X - Unix: use "unix" predefined macro instead of -DUNIX [CN]
- X - VMS: revision dates once again set properly
- X - added typecasts, etc., to get rid of nearly all warnings [CN, Charles
- X Scripter, Mark Adler]
- X - fixed "zipfile corrupt" bug for empty zipfiles [CN]
- X - OS/2, Unix: high-order (European) characters allowed in filenames [Kai Uwe,
- X CN]
- X - MS-DOS: patches for TC 2.0 and BC++ 3.0 preprocessors and for TCC and BCC
- X themselves to handle Unix-style line endings (LF) correctly (in MSDOS sub-
- X archive) [Onno van der Linden]
- X - added missing <signal.h> [Igor, Kai Uwe, Jean-loup, many others]
- X - modified sysv target and unzip.h to allow SysV-ish Suns to compile right
- X [CN]
- X - removed some SysV.4 warnings [Jean-loup]
- X - OS/2: added comments in zipinfo and man page to forestall queries about
- X "EA's stored not equal to what dir reports" [CN, Kai Uwe]
- X - patches for RS/6000 + AIX [Trevor Paquette]
- X - OS/2: "smart" upper/lowercasing depending on national language code page
- X [Kai Uwe]
- X - updated VMS, MS-DOS, and AMIGA sub-archives for release [CN]
- X - fixed zi_gcc makefile target [CN, Bo Kullmar]
- X - fixed size_t/extent bug for non-ANSI compilers [CN]
- X - fixed zipinfo EOL bug [CN]
- X - updated OS2 sub-archive and main Makefile (OS/2 targets, crypt, etc.) for
- X release [CN]
- X - added typecasts to get rid of remaining inflate/explode warnings [CN]
- X - MS-DOS: updated BCC project files [Alvin Koh]
- X - Mac, MTS: fixed work-area initialization bug and added missing isascii
- X definition [Antoine Verheijen]
- X - Mac: updated Think C resource file [Antoine]
- X - fixed (I hope) couple of conversion warnings in extract.c [CN, Charles]
- X - updated NoGate error message (PAK 2.51) [CN, Keith Petersen]
- X - VMS: corrected gcc XAB definition problem; cleaned up make_unzip_gcc.com
- X [Igor, Mike Freeman, CN]
- X - MS-DOS: fixed msc_dos target in Makefile [Piet W. Plomp]
- X - fixed sco_dos stack overflow bug and allowed zipinfo to be compiled as well,
- X provisionally (UNZIPS variable) [Bill Davidsen, CN]
- X - OS/2: added -DMSC to msc target in makefile.os2 (and msc_os2 in Makefile),
- X removed -Fb, changed some icc settings; removed references to main Makefile
- X [Kai Uwe, CN]
- X - OS/2: simplified default unzip.h defines [Kai Uwe]
- X - OS/2, MS-DOS: reversed meaning of -s (now spaces allowed by default) [CN,
- X Kai Uwe]
- X - OS/2: changed extra-field format to official PKWare format [Kai Uwe]
- X - typecast all NULLs appropriately to avoid AIX warnings [CN, Trevor Paquette,
- X Christopher Tjon]
- X - changed zfwrite definition in crypt.c to match zip's [Jean-loup]
- X - fixed some WinNT problems [Dave Feinleib, CN]
- X - fixed SysV.4 warning regarding signal.h placement [Jean-loup]
- X - fixed c120 target and renamed NMAX to N_MAX inflate.c to avoid Convex
- X redefinition warning [CN, Rafal Maszkowski]
- X - fixed bad comment line in Makefile [Mark, CN]
- X - fixed memcpy/byte-ordering problem in memextract() [CN, Kai Uwe]
- X - updated funzip (1.1) [Mark]
- X - updated unzip/zipinfo error message to include Norwegian ZIPSPLIT as
- X well as Atari STZIP [CN]
- X - fixed zi_gcc Makefile target; added fu_gcc target [CN]
- X - finished unzip and zipinfo man pages (I think) [CN]
- X - OS/2: minor national language code fix [Kai Uwe]
- X - initialized all unzip and zipinfo global flags to zero (buggy Sun compiler)
- X [CN, Frank van der Linden]
- X - reformatted .man pages slightly; renamed to .doc [CN, Jean-loup]
- X - renamed Mac Think C makefiles and VMS command files so names will be unique
- X if extracted under MS-DOS; renamed Turbo C zipinfo.bat to zi_make.bat [CN,
- X Jean-loup]
- X - fixed illegal escape sequence in unzip.1 (caused NeXT segmentation viol.)
- X [Mark]
- X
- XVersion info extracted from WizUnZip patches to unzip.c:
- X
- X /* History:
- X * 01/27/92 1.0 Original.
- X * 04/12/92 1.1 Added separate handle and buffer for outout.
- X * Change outout's typing to byte _far *.
- X * Apology: I did some of the wacky things I did
- X * with buffers and pointers because I kept running
- X * out of local memory in the Windows version.--rah.
- X * 06/30/92 1.2 Cleaned up source code.
- X * Added drag-drop, hiding status window,
- X * faster unzipping, updated to Unzip 5.0 source
- X */
- X
- XVersion info extracted from new match.c (formerly filmatch.c):
- X
- X File: filmatch.c
- X Author: J. Kercheval
- X Created: Thu, 03/14/1991 22:22:01
- X [from WILDF114.ZIP, SIMTEL20]
- X
- X EPSRevision History
- X
- X J. Kercheval Wed, 02/20/1991 22:29:01 Released to Public Domain
- X J. Kercheval Fri, 02/22/1991 15:29:01 fix '\' bugs (two :( of them)
- X J. Kercheval Sun, 03/10/1991 19:31:29 add error return to matche()
- X J. Kercheval Sun, 03/10/1991 20:11:11 add is_valid_pattern code
- X J. Kercheval Sun, 03/10/1991 20:37:11 beef up main()
- X J. Kercheval Tue, 03/12/1991 22:25:10 Released as V1.1 to Public Domain
- X J. Kercheval Thu, 03/14/1991 22:22:25 remove '\' for DOS file parsing
- X J. Kercheval Thu, 03/28/1991 20:58:27 include filmatch.h
- X
- X v1.2 Toad Hall Tweak, Apr 92
- X
- X - Adapting to Info-ZIP unzip (to replace SEA's match() code).
- X Why? To avoid any future copyright problems. (Hopefully one day
- X we'll have EVERYTHING built of public domain code.)
- X An even greater hope: that this new code added functionality
- X and didn't break *too* many old applications.
- X
- X - Incorporating FILMATCH.H code herein.
- X - Consolidated all test code at the end (#ifdef'ed out, of course)
- X so we can throw it all away when we're done playing.
- X - Swapping *string and *pattern to match previous match() parms.
- X - [GRR: renamed from "filmatch.c" to "match.c" to avoid changing
- X all of the unzip makefiles]
- X
- X From the previous match()'s comments:
- X
- X "The match() routine recursively compares a string to a "pattern" (regular
- X expression), returning TRUE if a match is found or FALSE if not.
- X This version is specifically for use with unzip.c: as did the previous
- X SEA's match(), it leaves the case (upper, lower, or mixed) of the string
- X alone, but converts any uppercase characters in the pattern to lowercase
- X if indicated by the global var pInfo->lcflag (which is to say, string is
- X assumed to have been converted to lowercase already, if such was
- X necessary)."
- X
- X Since the above has approached or exceeded unintelligibility
- X (why use small words when big ones will do?), scan down for "lcflag"
- X and see what the code does.
- X
- X David Kirschbaum
- X Toad Hall
- X
- X File: filmatch.h
- X Author: J. Kercheval
- X Created: Thu, 03/14/1991 22:24:34
- X
- X EPSRevision History
- X
- X J. Kercheval Wed, 02/20/1991 22:28:37 Released to Public Domain
- X J. Kercheval Sun, 03/10/1991 18:02:56 add is_valid_pattern
- X J. Kercheval Sun, 03/10/1991 18:25:48 add error_type in is_valid_pattern
- X J. Kercheval Sun, 03/10/1991 18:47:47 error return from matche()
- X J. Kercheval Tue, 03/12/1991 22:24:49 Released as V1.1 to Public Domain
- X J. Kercheval Thu, 03/14/1991 22:25:00 remove '\' for DOS file matching
- X J. Kercheval Thu, 03/28/1991 21:03:59 add in PATTERN_ESC & MATCH_LITERAL
- X
- X==================
- X
- XThese changes occurred in beta versions 5.0a to 5.0p. This list may have
- Xleft out some bugfixes and even some features...the brain cell is going,
- Xfolks (as Mark would say). Apologies, etc., but I did muh best....
- X
- XGreg Roelofs (a.k.a. Cave Newt)
- END_OF_FILE
- if test 11988 -ne `wc -c <'History.500'`; then
- echo shar: \"'History.500'\" unpacked with wrong size!
- fi
- # end of 'History.500'
- fi
- if test -f 'MSDOS/bcc/unzip.prj.UU' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'MSDOS/bcc/unzip.prj.UU'\"
- else
- echo shar: Extracting \"'MSDOS/bcc/unzip.prj.UU'\" \(10866 characters\)
- sed "s/^X//" >'MSDOS/bcc/unzip.prj.UU' <<'END_OF_FILE'
- Xbegin 666 MSDOS/bcc/unzip.prj
- XM5'5R8F\@0R!0<F]J96-T($9I;&4@&@ !#1(7 1H 0<R $8(R0 " $ R@ "
- XM RP " $ S " $ S0 " ( S@ " O L" O0L" O@L"
- XMOPL" $ T@ " $ TP " $ U " , U@ " $ UP " $ V " $ \0 !
- XM #R $ /, 0 !] ! 'U $ ?8 ! @ ]P ! #X $ /D 0
- XM^@ " @L 0" "\ " U@L! #7"P$ -@+ @ -D+ 0 V@L" !
- XMVPL" 0 ^P ! "T#P$ /P 0 !_0 ! #^ $ /\ 0 $! $! 0$
- XM ,! 0 ! $! % 0$ 8! 0 !!P$! !D( 0$ 9 D! 0 @"@$! + 0$
- XM P! 0 #0$! . 0$ \! 0 $ $! $1 0$ : / 0 H0\! &B#P$
- XM *,/ 0 !I \! &E#P$ :8/ 0 !IP\! &H#P$ + / 0 L0\! &R#P$
- XM ;,/ 0 J0\! "J#P$ ZL/ 0 K \! "M#P$ *X/ 0 KP\! "U#P$
- XM +8/ 0 $@$! $3 0$ !0! 0 %0$! $6 0$ !<!! @ & $! 9
- XM 0( : 0$ !L! 0 ' $! $= 0$ !X! 0 #'P$! $@ 0$ "(! 0
- XM(P$! D 0$ "4! 0 )@$" /]_)P$ "L! @ &L" 0 6P(! %= @$
- XM 5X" 0 !8@(! %C @$ 60" 0 !90(! %F @$ 6<" 0 !: (! !M @$
- XM 6X" 0 !;P(! %Q @$ 7," 0 !=0(! !V @$ 7<" 0 !> (! %Y @$
- XM 7H" 0 !>P(! %\ @$ (X" 0 !?0(! %^ @$ 7\" 0 !@ (! &! @$
- XM 8(" 0 !@P(! &$ @$ 84" 0 !A@(! &' @$ 8@" 0 !B@(! &+ @$
- XM 8T" 0 !D (! &1 @$ 9(" 0 !DP(! $$$ $ 040 0 !!A ! $'$ $
- XM 0@0 0 !+0%$
- XM +@& $,Z7$)#7$E.
- XM0TQ51$4 3%5$10
- XM
- XM +P& $,Z7$)#7$Q)0@!<
- XM3$E"
- XM
- XM , $$ #,R Q 04 ,C4 R
- XM 04 ,3 P S 7\ %]-4T,
- XM
- XM
- XM #0!'@ J U 1X *@
- XM -@$> "H
- XM #<!'@ J
- XM X 1X *@ .0$> "H
- XM #H!'@ J
- XM [ 1X *@
- XM / $> "H #T!'@ J
- XM ^ 1X *@
- XM /P$> "H
- XM $ !@
- XM
- XM
- XM $$!?P
- XM
- XM
- XM1 $( #,R-S8W 10$( #@Q.3( 1@%_
- XM
- XM
- XM !# 04 +D, !' 0( #__P ,P & $
- XMV83=& H U0@ ?D=215
- XM &=R97
- XM +6XK("1-
- XM14TH-C0I("1.3U-705 @)%!23TU05" D0T%0($U31RA'4D50,DU31REV;VED
- XM("HN8R
- XM
- XM
- XM #(_P%^5'5R8F\@07-S96UB;&5R
- XM 5$%330
- XM
- XM O35@@+UI)("]/("1405--
- XM
- XM
- XM
- XM ,G_ %1U<F)O('Y$96)U9V=E<@
- XM !T9
- XM
- XM "1%6$5.04U%
- XM
- XM
- XM
- XM RO\ 5'5R8F\@?E!R;V9I
- XM;&5R '1P<F]F
- XM
- XM )$5814Y!344
- XM
- XM
- XM
- XM #+_P%2?F5S
- XM;W5R8V4@0V]M<&EL97( 4D,
- XM
- XM D4D,
- XM
- XM
- XM
- XM
- XM ,S_ 7Y);7!O<G0@3&EB<F%R:6%N !)
- XM35!,24(
- XM "1)35!,24(
- XM
- XM
- XM
- XM
- XM S?___P
- XM
- XM
- XM
- XM
- XM
- XM
- XM #4 I@0 !X F83=@6 !<E / 4 %5.
- XM6DE0+D, 54Y:25 N0P
- XM @ # 0 "\
- XMFX3=&&<! ? @@ $5.5D%21U,N0P!53EI)4%Q53EI)4#4P2UQ"0T-<
- XM14Y605)'4RY#
- XM "@ ) @ P #$ HX3=&* 6 " @ & , $584$Q/1$4N0P!5
- XM3EI)4%Q53EI)4#4P2UQ"0T-<15A03$]$12Y#
- XM %@ 5 !0 @ #< /______
- XM____ $585%)!0U0N0P!53EI)4%Q53EI)4#4P2UQ%6%1204-4+D,
- XM 'P >
- XM !T !0 #, IH3=&(<# #D /00 $9)3$5?24\N0P!,15])3RY#
- XM
- XM !0 & < #4 SH3=&& 1 !* 0 PP, $E.
- XM1DQ!5$4N0P!53EI)4%Q53EI)4#4P2UQ)3D9,051%+D,
- XM ( A "( ! "$
- XMJ(3=&)<# #% =P$ $U!4$Y!344N0P!03D%-12Y#
- XM
- XM "P , T " JH3=&(8" - ( $U!5$-(+D, 34%4
- XM0T@N0P
- XM #@ / ! !8 K83=&'$& ""
- XM! U ( $U)4T,N0P!<34E30RY#
- XM $0 2
- XM !, !H L(3=&(P# B P U0 %5.4D5$54-%+D, 14150T4N0P
- XM
- XM %P 8 !D !P LX3=&&$# ( NP %5.
- XM4TA224Y++D, 2%))3DLN0P
- XM &@ ; !P @#8
- XM2 @X :P>&!SL(__________________________________^A!RP(__\=
- XM"( "$ B\!P0(! +7!X@!] ?7!>0'_ )X U '- <5!_<&VP:_!J,&A 9K!E,&
- XMO06B!88%^P1W!7 $[ 3T WD![@!J 7( <@ !0 - "CK-@8! "CK-@8&
- XM&&L7$@ &&L7 P &&L7 @ &&L7(@ &&L7(P &&L7) &&L7)0 &&L7
- XM)@ &&L7)P &&L7* &&L7*0 &&L7*@ &&L7*P &&L7+ &&L7+0
- XM&&L7+@ &&L7__\ &&L7 4 #8 1Z3!& 0 HZS8&!@ !AK%Q( !AK%P,
- XM !AK%P( !AK%R( !AK%R, !AK%R0 !AK%R4 !AK%R8 !AK%R< !AK
- XM%R@ !AK%RD !AK%RH !AK%RL !AK%RP !AK%RT !AK%RX !AK%___
- XM !AK%_]'I,$824Y&3$%412Y# /^CK-@815A44D%#5"Y# % ? ,:;NA@$
- XM *.LV!@8 8:Q<2 8:Q<# 8:Q<" 8:Q<B 8:Q<C 8:Q<D 8
- XM:Q<E 8:Q<F 8:Q<G 8:Q<H 8:Q<I 8:Q<J 8:Q<K 8:Q<L
- XM 8:Q<M 8:Q<N 8:Q?__P 8:Q< !0 '0 ' ;H8! "CK-@8& &&L7
- XM$@ &&L7 P &&L7 @ &&L7(@ &&L7(P &&L7) &&L7)0 &&L7)@
- XM&&L7)P &&L7* &&L7*0 &&L7*@ &&L7*P &&L7+ &&L7+0 &&L7
- XM+@ &&L7__\ &&L7 4 !D CJS8& 0 HZS8&!@ !AK%Q( !AK%P, !AK
- XM%P( !AK%R( !AK%R, !AK%R0 !AK%R4 !AK%R8 !AK%R< !AK%R@
- XM !AK%RD !AK%RH !AK%RL !AK%RP !AK%RT !AK%RX !AK%___ !AK
- XM%P % 7 $R^N1@$ *.LV!@8 8:Q<2 8:Q<# 8:Q<" 8:Q<B 8
- XM:Q<C 8:Q<D 8:Q<E 8:Q<F 8:Q<G 8:Q<H 8:Q<I 8:Q<J
- XM 8:Q<K 8:Q<L 8:Q<M 8:Q<N 8:Q?__P 8:Q< !0 %0"CK-@8
- XM! "CK-@8& &&L7$@ &&L7 P &&L7 @ &&L7(@ &&L7(P &&L7)
- XM&&L7)0 &&L7)@ &&L7)P &&L7* &&L7*0 &&L7*@ &&L7*P &&L7
- XM+ &&L7+0 &&L7+@ &&L7__\ &&L7 4 !, #778& 0 HZS8&!@ !AK
- XM%Q( !AK%P, !AK%P( !AK%R( !AK%R, !AK%R0 !AK%R4 !AK%R8
- XM !AK%R< !AK%R@ !AK%RD !AK%RH !AK%RL !AK%RP !AK%RT !AK
- XM%RX !AK%___K-@8& % R $>DP1@$ *.LV!@8 8:Q<2 8:Q<# 8
- XM:Q<" 8:Q<B 8:Q<C 8:Q<D 8:Q<E 8:Q<F 8:Q<G 8:Q<H
- XM 8:Q<I 8:Q<J 8:Q<K 8:Q<L 8:Q<M 8:Q<N 8:Q?__P 8
- XM:Q?_1Z3!&$584$Q/1$4N0P !0 , "J8K@8! "CK-@8& &&L7$@ &&L7
- XM P &&L7 @ &&L7(@ &&L7(P &&L7) &&L7)0 &&L7)@ &&L7)P
- XM&&L7* &&L7*0 &&L7*@ &&L7*P &&L7+ &&L7+0 &&L7+@ &&L7
- XM__\ &&L7_ZIBN!A%3E9!4D=3+D, _P 8:Q=#.EQ"0UQ)3D-,541%7$Q)34E4
- XM4RY( /\ &&L70SI<0D-<24Y#3%5$15Q&0TY43"Y( /\ &&L70SI<0D-<24Y#
- XM3%5$15Q424U%+D@ 4 !L (8?8& 0 HZS8&!@ !AK%Q( !AK%P, !AK
- XM%P( !AK%R( !AK%R, !AK%R0 !AK%R4 !AK%R8 !AK%R< !AK%R@
- XM !AK%RD !AK%RH !AK%RL !AK%RP !AK%RT !AK%RX !AK%___1$5<
- XM4_\ &&L70SI<0D-<24Y#3%5$15Q)3RY( /\ &&L70SI<0D-<24Y#3%5$15Q$
- XM3U,N2 #_ !AK%T,Z7$)#7$E.0TQ51$5<4UE37%1)345"+D@ _P 8:Q=#.EQ"
- XM0UQ)3D-,541%7%-44DE.1RY( /\ &&L70SI<0D-<24Y#3%5$15Q35$1,24(N
- XM2 #_ !AK%T,Z7$)#7$E.0TQ51$5<4U1$1$5&+D@ _P 8:Q=#.EQ"0UQ)3D-,
- XM541%7%-94UQ35$%4+D@ _P 8:Q=#.EQ"0UQ)3D-,541%7%-94UQ465!%4RY(
- XM /\ &&L70SI<0D-<24Y#3%5$15Q324=.04PN2 #_ !AK%T,Z7$)#7$E.0TQ5
- XM1$5<15)23D\N2 #_ !AK%T,Z7$)#7$E.0TQ51$5<0U194$4N2 #_ !AK%T,Z
- XM7$)#7$E.0TQ51$5<7TY53$PN2 #_ !AK%T,Z7$)#7$E.0TQ51$5<7T1%1E,N
- XM2 #_ !AK%T,Z7$)#7$E.0TQ51$5<4U1$24\N2 #_(8?8&%5.6DE0+D, _\:;
- XMNAA53E-(4DE.2RY# /\' ;H854Y214150T4N0P#_CJS8&$U)4T,N0P#_3+ZY
- XM&$U!5$-(+D, _Z.LV!A-05!.04U%+D, _PUUV!A&24Q%7TE/+D, _Z.LV!A5
- XM3EI)4"Y( #< :0 C : !G &8 90!D &, 3@!/ % 8@!A & 7P!> %T
- XM7 !; %H 40!2 %, 60!8 %< 5@!5 %0 2 !) $H 30!, $L 2
- X> #__P
- X
- Xend
- END_OF_FILE
- if test 10866 -ne `wc -c <'MSDOS/bcc/unzip.prj.UU'`; then
- echo shar: \"'MSDOS/bcc/unzip.prj.UU'\" unpacked with wrong size!
- else
- echo shar: Uudecoding \"'MSDOS/bcc/unzip.prj'\" \(7860 characters\)
- cat MSDOS/bcc/unzip.prj.UU | uudecode
- if test 7860 -ne `wc -c <'MSDOS/bcc/unzip.prj'`; then
- echo shar: \"'MSDOS/bcc/unzip.prj'\" uudecoded with wrong size!
- else
- rm MSDOS/bcc/unzip.prj.UU
- fi
- fi
- # end of 'MSDOS/bcc/unzip.prj.UU'
- fi
- if test -f 'MSDOS/bcc/unzip_cr.prj.UU' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'MSDOS/bcc/unzip_cr.prj.UU'\"
- else
- echo shar: Extracting \"'MSDOS/bcc/unzip_cr.prj.UU'\" \(11377 characters\)
- sed "s/^X//" >'MSDOS/bcc/unzip_cr.prj.UU' <<'END_OF_FILE'
- Xbegin 666 MSDOS/bcc/unzip_cr.prj
- XM5'5R8F\@0R!0<F]J96-T($9I;&4@&@ !#1(7 1H 0<R $8(R0 " $ R@ "
- XM RP " $ S " $ S0 " ( S@ " O L" O0L" O@L"
- XMOPL" $ T@ " $ TP " $ U " , U@ " $ UP " $ V " $ \0 !
- XM #R $ /, 0 !] ! 'U $ ?8 ! @ ]P ! #X $ /D 0
- XM^@ " @L 0" "\ " U@L! #7"P$ -@+ @ -D+ 0 V@L" !
- XMVPL" 0 ^P ! "T#P$ /P 0 !_0 ! #^ $ /\ 0 $! $! 0$
- XM ,! 0 ! $! % 0$ 8! 0 !!P$! !D( 0$ 9 D! 0 @"@$! + 0$
- XM P! 0 #0$! . 0$ \! 0 $ $! $1 0$ : / 0 H0\! &B#P$
- XM *,/ 0 !I \! &E#P$ :8/ 0 !IP\! &H#P$ + / 0 L0\! &R#P$
- XM ;,/ 0 J0\! "J#P$ ZL/ 0 K \! "M#P$ *X/ 0 KP\! "U#P$
- XM +8/ 0 $@$! $3 0$ !0! 0 %0$! $6 0$ !<!! @ & $! 9
- XM 0( : 0$ !L! 0 ' $! $= 0$ !X! 0 #'P$! $@ 0$ "(! 0
- XM(P$! D 0$ "4! 0 )@$" /]_)P$ "L! @ &L" 0 6P(! %= @$
- XM 5X" 0 !8@(! %C @$ 60" 0 !90(! %F @$ 6<" 0 !: (! !M @$
- XM 6X" 0 !;P(! %Q @$ 7," 0 !=0(! !V @$ 7<" 0 !> (! %Y @$
- XM 7H" 0 !>P(! %\ @$ (X" 0 !?0(! %^ @$ 7\" 0 !@ (! &! @$
- XM 8(" 0 !@P(! &$ @$ 84" 0 !A@(! &' @$ 8@" 0 !B@(! &+ @$
- XM 8T" 0 !D (! &1 @$ 9(" 0 !DP(! $$$ $ 040 0 !!A ! $'$ $
- XM 0@0 0 !+0%$
- XM +@& $,Z7$)#7$E.
- XM0TQ51$4 3%5$10
- XM
- XM +P& $,Z7$)#7$Q)0@!<
- XM3$E"
- XM
- XM , $$ #,R Q 04 ,C4 R
- XM 04 ,3 P S 7\ 0U)94%0
- XM
- XM
- XM #0!'@ J U 1X *@
- XM -@$> "H
- XM #<!'@ J
- XM X 1X *@ .0$> "H
- XM #H!'@ J
- XM [ 1X *@
- XM / $> "H #T!'@ J
- XM ^ 1X *@
- XM /P$> "H
- XM $ !@
- XM
- XM
- XM $$!?P
- XM
- XM
- XM1 $( #,R-S8W 10$( #@Q.3( 1@%_
- XM
- XM
- XM !# 04 +D, !' 0( #__P ,P & $
- XM_87=& H U0@ ?D=215
- XM &=R97
- XM +6XK("1-
- XM14TH-C0I("1.3U-705 @)%!23TU05" D0T%0($U31RA'4D50,DU31REV;VED
- XM("HN8R
- XM
- XM
- XM #(_P%^5'5R8F\@07-S96UB;&5R
- XM 5$%330
- XM
- XM O35@@+UI)("]/("1405--
- XM
- XM
- XM
- XM ,G_ %1U<F)O('Y$96)U9V=E<@
- XM !T9
- XM
- XM "1%6$5.04U%
- XM
- XM
- XM
- XM RO\ 5'5R8F\@?E!R;V9I
- XM;&5R '1P<F]F
- XM
- XM )$5814Y!344
- XM
- XM
- XM
- XM #+_P%2?F5S
- XM;W5R8V4@0V]M<&EL97( 4D,
- XM
- XM D4D,
- XM
- XM
- XM
- XM
- XM ,S_ 7Y);7!O<G0@3&EB<F%R:6%N !)
- XM35!,24(
- XM "1)35!,24(
- XM
- XM
- XM
- XM
- XM S?___P
- XM
- XM
- XM
- XM
- XM
- XM
- XM #4 $@4 !X TX7=@6 !>E / 4 %5.
- XM6DE0+D, 54Y:25 N0P
- XM @ # 0 !0
- XMU87=&)X" , (P$ $-265!4+D, 15Q53EI)4%Q53EI)4#4P2UQ#4EE0
- XM5"Y#
- XM (P D "4 @ "\ UX7=&&<! ? @@ $5.5D%21U,N0P!5
- XM3EI)4%Q53EI)4#4P2UQ"0T-<14Y605)'4RY#
- XM "@ ) @ #$ X(7=&* 6 "
- XM @ & , $584$Q/1$4N0P!53EI)4%Q53EI)4#4P2UQ"0T-<15A03$]$12Y#
- XM %@ 5
- XM !0 #< YH7=&.@0 "N! U@, $585%)!0U0N0P!53EI)4%Q53EI)
- XM4#4P2UQ%6%1204-4+D,
- XM 'P > !T #, Z(7=&(T$ ! 0 /00 $9)
- XM3$5?24\N0P!,15])3RY#
- XM !0 & < #4
- XM[H7=&& 1 !* 0 PP, $E.1DQ!5$4N0P!53EI)4%Q53EI)4#4P2UQ)3D9,
- XM051%+D,
- XM ( A "( "$ \87=&)<# #% =P$ $U!4$Y!344N0P!0
- XM3D%-12Y#
- XM "P , T " \X7=&(8"
- XM - ( $U!5$-(+D, 34%40T@N0P
- XM #@ /
- XM ! !8 ]H7=&'$& ""! U ( $U)4T,N0P!<34E30RY#
- XM
- XM $0 2 !, !H ^87=&(P# B P U0 %5.
- XM4D5$54-%+D, 14150T4N0P
- XM %P 8 !D !P
- XM^X7=&&$# ( NP %5.4TA224Y++D, 2%))3DLN0P
- XM
- XM &@ ; !P @#8 1 DX 9PB""#<)____________________
- XM____[@-]!2X&.0:=""@)F@49"6H!# FX" )[@#3"'( \ A&!N (Y@%B DP(
- XM, @1"/,'UP>[!Y\'@ =G!T\'-0<:!_X& 07O!H4$X 9: ]$&W@+"!@D$<@
- XM !0 'P#&F[H8! "CK-@8& &&L7$@ &&L7 P &&L7 @ &&L7(@ &&L7
- XM(P &&L7) &&L7)0 &&L7)@ &&L7)P &&L7* &&L7*0 &&L7*@
- XM&&L7*P &&L7+ &&L7+0 &&L7+@ &&L7__\ &&L7 4 !T !P&Z& 0
- XMHZS8&!@ !AK%Q( !AK%P, !AK%P( !AK%R( !AK%R, !AK%R0 !AK
- XM%R4 !AK%R8 !AK%R< !AK%R@ !AK%RD !AK%RH !AK%RL !AK%RP
- XM !AK%RT !AK%RX !AK%___ !AK%P % 9 (ZLV!@$ *.LV!@8 8:Q<2
- XM 8:Q<# 8:Q<" 8:Q<B 8:Q<C 8:Q<D 8:Q<E 8:Q<F 8
- XM:Q<G 8:Q<H 8:Q<I 8:Q<J 8:Q<K 8:Q<L 8:Q<M 8:Q<N
- XM 8:Q?__P 8:Q< !0 %P!,OKD8! "CK-@8& &&L7$@ &&L7 P &&L7
- XM @ &&L7(@ &&L7(P &&L7) &&L7)0 &&L7)@ &&L7)P &&L7*
- XM&&L7*0 &&L7*@ &&L7*P &&L7+ &&L7+0 &&L7+@ &&L7__\ &&L7
- XM 4 !4 HZS8& 0 HZS8&!@ !AK%Q( !AK%P, !AK%P( !AK%R( !AK
- XM%R, !AK%R0 !AK%R4 !AK%R8 !AK%R< !AK%R@ !AK%RD !AK%RH
- XM !AK%RL !AK%RP !AK%RT !AK%RX !AK%___ !AK%P % V $>DP1@$
- XM *.LV!@8 8:Q<2 8:Q<# 8:Q<" 8:Q<B 8:Q<C 8:Q<D 8
- XM:Q<E 8:Q<F 8:Q<G 8:Q<H 8:Q<I 8:Q<J 8:Q<K 8:Q<L
- XM 8:Q<M 8:Q<N 8:Q?__P 8:Q< !@ $P -==@8! "CK-@8& &&L7
- XM$@ &&L7 P &&L7 @ &&L7(@ &&L7(P &&L7) &&L7)0 &&L7)@
- XM&&L7)P &&L7* &&L7*0 &&L7*@ &&L7*P &&L7+ &&L7+0 &&L7
- XM+@ &&L7#@ &&L7__\7) &&L7)0 &&L7)@ &&L7)P _P 8:Q=#.EQ"
- XM0UQ)3D-,541%7$-/3DE/+D@ 4 #0 HZS8& 0 HZS8&!@ !AK%Q( !AK
- XM%P, !AK%P( !AK%R( !AK%R, !AK%R0 !AK%R4 !AK%R8 !AK%R<
- XM !AK%R@ !AK%RD !AK%RH !AK%RL !AK%RP !AK%RT !AK%RX !AK
- XM%___ !AK%P % R $>DP1@$ *.LV!@8 8:Q<2 8:Q<# 8:Q<" 8
- XM:Q<B 8:Q<C 8:Q<D 8:Q<E 8:Q<F 8:Q<G 8:Q<H 8:Q<I
- XM 8:Q<J 8:Q<K 8:Q<L 8:Q<M 8:Q<N 8:Q?__P 8:Q< !0
- XM, "J8K@8! "CK-@8& &&L7$@ &&L7 P &&L7 @ &&L7(@ &&L7(P
- XM&&L7) &&L7)0 &&L7)@ &&L7)P &&L7* &&L7*0 &&L7*@ &&L7
- XM*P &&L7+ &&L7+0 &&L7+@ &&L7__\ &&L7_P 8:Q=#.EQ"0UQ)3D-,
- XM541%7%!23T-%4U,N2 !@ $0"!BZ\8$ #JNIX8! "CK-@8& &&L7$@
- XM&&L7 P &&L7 @ &&L7(@ &&L7(P &&L7) &&L7)0 &&L7)@ &&L7
- XM)P &&L7* &&L7*0 &&L7*@ &&L7*P &&L7+ &&L7+0 &&L7+@
- XM&&L7#P &&L7__]K%RL !AK%RP !AK%RT _^JZGAA:25 N2 #_@8NO&$-2
- XM65!4+D, 4 !L (8?8& 0 HZS8&!@ !AK%Q( !AK%P, !AK%P( !AK
- XM%R( !AK%R, !AK%R0 !AK%R4 !AK%R8 !AK%R< !AK%R@ !AK%RD
- XM !AK%RH !AK%RL !AK%RP !AK%RT !AK%RX !AK%___ !AK%_______
- XM24Y&3$%412Y# /______15A44D%#5"Y# /______15A03$]$12Y# /______
- XM14Y605)'4RY# /______0SI<0D-<24Y#3%5$15Q,24U)5%,N2 #______T,Z
- XM7$)#7$E.0TQ51$5<1D-.5$PN2 #______T,Z7$)#7$E.0TQ51$5<5$E-12Y(
- XM /______0SI<0D-<24Y#3%5$15Q)3RY( /______0SI<0D-<24Y#3%5$15Q$
- XM3U,N2 #______T,Z7$)#7$E.0TQ51$5<4UE37%1)345"+D@ ______]#.EQ"
- XM0UQ)3D-,541%7%-44DE.1RY( /______0SI<0D-<24Y#3%5$15Q35$1,24(N
- XM2 #______T,Z7$)#7$E.0TQ51$5<4U1$1$5&+D@ ______]#.EQ"0UQ)3D-,
- XM541%7%-94UQ35$%4+D@ ______]#.EQ"0UQ)3D-,541%7%-94UQ465!%4RY(
- XM /______0SI<0D-<24Y#3%5$15Q324=.04PN2 #______T,Z7$)#7$E.0TQ5
- XM1$5<15)23D\N2 #______T,Z7$)#7$E.0TQ51$5<0U194$4N2 #______T,Z
- XM7$)#7$E.0TQ51$5<7TY53$PN2 #______T,Z7$)#7$E.0TQ51$5<7T1%1E,N
- XM2 #______T,Z7$)#7$E.0TQ51$5<4U1$24\N2 #______U5.6DE0+D, ____
- XM__]53E-(4DE.2RY# /______54Y214150T4N0P#______TU)4T,N0P#_____
- XM_TU!5$-(+D, ______]-05!.04U%+D, ______]&24Q%7TE/+D, ______]5
- XM3EI)4"Y( #< <@ F <0!P &\ ;@!M &P 5P!8 %D :P!J &D : !G &8
- XM90!D &, 6@!; %P 8@!A & 7P!> %T 40!2 %, 5@!5 %0 4 !/ $X 3@
- XG #__P
- X
- Xend
- END_OF_FILE
- if test 11377 -ne `wc -c <'MSDOS/bcc/unzip_cr.prj.UU'`; then
- echo shar: \"'MSDOS/bcc/unzip_cr.prj.UU'\" unpacked with wrong size!
- else
- echo shar: Uudecoding \"'MSDOS/bcc/unzip_cr.prj'\" \(8229 characters\)
- cat MSDOS/bcc/unzip_cr.prj.UU | uudecode
- if test 8229 -ne `wc -c <'MSDOS/bcc/unzip_cr.prj'`; then
- echo shar: \"'MSDOS/bcc/unzip_cr.prj'\" uudecoded with wrong size!
- else
- rm MSDOS/bcc/unzip_cr.prj.UU
- fi
- fi
- # end of 'MSDOS/bcc/unzip_cr.prj.UU'
- fi
- if test -f 'MSDOS/bcc/zipinfo.prj.UU' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'MSDOS/bcc/zipinfo.prj.UU'\"
- else
- echo shar: Extracting \"'MSDOS/bcc/zipinfo.prj.UU'\" \(8364 characters\)
- sed "s/^X//" >'MSDOS/bcc/zipinfo.prj.UU' <<'END_OF_FILE'
- Xbegin 666 MSDOS/bcc/zipinfo.prj
- XM5'5R8F\@0R!0<F]J96-T($9I;&4@&@ !#1(7 1H 0<R $8(R0 " $ R@ "
- XM RP " $ S " $ S0 " ( S@ " O L" O0L" O@L"
- XMOPL" $ T@ " $ TP " $ U " , U@ " $ UP " $ V " $ \0 !
- XM #R $ /, 0 !] ! 'U $ ?8 ! @ ]P ! #X $ /D 0
- XM^@ " @L 0" "\ " U@L! #7"P$ -@+ @ -D+ 0 V@L" !
- XMVPL" 0 ^P ! "T#P$ /P 0 !_0 ! #^ $ /\ 0 $! $! 0$
- XM ,! 0 ! $! $% 0$ 8! 0 !!P$! !D( 0$ 9 D! 0 @"@$! + 0$
- XM P! 0 #0$! . 0$ \! 0 $ $! $1 0$ : / 0 H0\! &B#P$
- XM *,/ 0 !I \! &E#P$ :8/ 0 !IP\! &H#P$ + / 0 L0\! &R#P$
- XM ;,/ 0 J0\! "J#P$ ZL/ 0 K \! "M#P$ *X/ 0 KP\! "U#P$
- XM +8/ 0 $@$! $3 0$ !0! 0 %0$! $6 0$ 1<!! @ & $! 9
- XM 0( : 0$ !L! 0 ' $! $= 0$ !X! 0 #'P$! $@ 0$ "(! 0
- XM(P$! D 0$ "4! 0 )@$" /]_)P$ "L! @ &L" 0 6P(! %= @$
- XM 5X" 0 !8@(! %C @$ 60" 0 !90(! %F @$ 6<" 0 !: (! !M @$
- XM 6X" 0 !;P(! %Q @$ 7," 0 !=0(! %V @$ 7<" 0 !> (! %Y @$
- XM 7H" 0 !>P(! %\ @$ 8X" 0 !?0(! %^ @$ 7\" 0 !@ (! &! @$
- XM 8(" 0 !@P(! &$ @$ 84" 0 !A@(! &' @$ 8@" 0 !B@(! &+ @$
- XM 8T" 0 !D (! &1 @$ 9(" 0 !DP(! $$$ $ 040 0 !!A ! $'$ $
- XM 0@0 0 !+0%$
- XM +@& $,Z7$)#7$E.
- XM0TQ51$4 3%5$10
- XM
- XM +P& $,Z7$)#7$Q)0@!<
- XM3$E"
- XM
- XM , $$ #,R Q 04 ,C4 R
- XM 04 ,3 P S 7\ 6DE024Y&3P!?7TU30P
- XM
- XM
- XM #0!'@ J U 1X *@
- XM -@$> "H
- XM #<!'@ J
- XM X 1X *@ .0$> "H
- XM #H!'@ J
- XM [ 1X *@
- XM / $> "H #T!'@ J
- XM ^ 1X *@
- XM /P$> "H
- XM $ !@
- XM
- XM
- XM $$!?P
- XM
- XM
- XM1 $( #,R-S8W 10$( #@Q.3( 1@%_
- XM
- XM
- XM !# 04 +D, !' 0( #__P ,P & $
- XM<8;=& H U0@ ?D=215
- XM &=R97
- XM +6XK("1-
- XM14TH-C0I("1.3U-705 @)%!23TU05" D0T%0($U31RA'4D50,DU31REV;VED
- XM("HN8R
- XM
- XM
- XM #(_P%^5'5R8F\@07-S96UB;&5R
- XM 5$%330
- XM
- XM O35@@+UI)("]/("1405--
- XM
- XM
- XM
- XM ,G_ %1U<F)O('Y$96)U9V=E<@
- XM !T9
- XM
- XM "1%6$5.04U%
- XM
- XM
- XM
- XM RO\ 5'5R8F\@?E!R;V9I
- XM;&5R '1P<F]F
- XM
- XM )$5814Y!344
- XM
- XM
- XM
- XM #+_P%2?F5S
- XM;W5R8V4@0V]M<&EL97( 4D,
- XM
- XM D4D,
- XM
- XM
- XM
- XM
- XM ,S_ 7Y);7!O<G0@3&EB<F%R:6%N !)
- XM35!,24(
- XM "1)35!,24(
- XM
- XM
- XM
- XM
- XM S?___P
- XM
- XM
- XM
- XM
- XM
- XM
- XM #4 L@$ !< :8;=&!,@ "4& ' 8 %I)
- XM4$E.1D\N0P!024Y&3RY#
- XM @ # 0 "<
- XM:X;=&&<! ? @@ $5.5D%21U,N0P!53EI)4%Q53EI)4#4P2UQ%3E9!
- XM4D=3+D,
- XM "P , T @ "D ;8;=&) " - ( $U!5$-(+D, 34%4
- XM0T@N0P
- XM !0 & < !4 <(;=&*P# !J
- XM U ( $U)4T,N0P!<34E30RY#
- XM " )
- XM H @#8 7P0J ] -0!$,$__________________\/!/__________
- XM________-@16 "H$*@+9 [X#HP.' V@#2@,N Q(#]@+7 KX"I@(0 O4!V0%.
- XM <H!T@!6 % 6 (ZLV!@$ *.LV!@, 8:Q<" 8:Q<8 8:Q<9 8
- XM:Q<: 8:Q<; 8:Q<< 8:Q<= 8:Q<> 8:Q<? 8:Q<@ 8:Q<A
- XM 8:Q<B 8:Q<C 8:Q<D 8:Q<E 8:Q<F 8:Q?__P 8:Q< !0
- XM% !,OKD8! "CK-@8# &&L7 @ &&L7& &&L7&0 &&L7&@ &&L7&P
- XM&&L7' &&L7'0 &&L7'@ &&L7'P &&L7( &&L7(0 &&L7(@ &&L7
- XM(P &&L7) &&L7)0 &&L7)@ &&L7__\ &&L7 4 "@ JF*X& 0 HZS8
- XM& P !AK%P( !AK%Q@ !AK%QD !AK%QH !AK%QL !AK%QP !AK%QT
- XM !AK%QX !AK%Q\ !AK%R !AK%R$ !AK%R( !AK%R, !AK%R0 !AK
- XM%R4 !AK%R8 !AK%___:Q<= /^J8K@814Y605)'4RY# /\ &&L70SI<0D-<
- XM24Y#3%5$15Q,24U)5%,N2 #_ !AK%T,Z7$)#7$E.0TQ51$5<1D-.5$PN2 #_
- XM !AK%T,Z7$)#7$E.0TQ51$5<5$E-12Y( % # /FMV!@$ *.LV!@, 8
- XM:Q<" 8:Q<8 8:Q<9 8:Q<: 8:Q<; 8:Q<< 8:Q<= 8:Q<>
- XM 8:Q<? 8:Q<@ 8:Q<A 8:Q<B 8:Q<C 8:Q<D 8:Q<E 8
- XM:Q<F 8:Q?__T1%7%/_ !AK%T,Z7$)#7$E.0TQ51$5<24\N2 #_ !AK%T,Z
- XM7$)#7$E.0TQ51$5<1$]3+D@ _P 8:Q=#.EQ"0UQ)3D-,541%7%-94UQ424U%
- XM0BY( /\ &&L70SI<0D-<24Y#3%5$15Q35%))3D<N2 #_ !AK%T,Z7$)#7$E.
- XM0TQ51$5<4U1$3$E"+D@ _P 8:Q=#.EQ"0UQ)3D-,541%7%-41$1%1BY( /\
- XM&&L70SI<0D-<24Y#3%5$15Q365-<4U1!5"Y( /\ &&L70SI<0D-<24Y#3%5$
- XM15Q365-<5%E015,N2 #_ !AK%T,Z7$)#7$E.0TQ51$5<4TE'3D%,+D@ _P 8
- XM:Q=#.EQ"0UQ)3D-,541%7$524DY/+D@ _P 8:Q=#.EQ"0UQ)3D-,541%7$-4
- XM65!%+D@ _P 8:Q=#.EQ"0UQ)3D-,541%7%].54Q,+D@ _P 8:Q=#.EQ"0UQ)
- XM3D-,541%7%]$1493+D@ _P 8:Q=#.EQ"0UQ)3D-,541%7%-41$E/+D@ ____
- XM__]-25-#+D, ______]-051#2"Y# /______54Y:25 N2 #______UI)4$E.
- XM1D\N0P W "H #@ "D * G "8 )0 D ", (@ A " 'P > !X
- X* __\
- X
- Xend
- END_OF_FILE
- if test 8364 -ne `wc -c <'MSDOS/bcc/zipinfo.prj.UU'`; then
- echo shar: \"'MSDOS/bcc/zipinfo.prj.UU'\" unpacked with wrong size!
- else
- echo shar: Uudecoding \"'MSDOS/bcc/zipinfo.prj'\" \(6040 characters\)
- cat MSDOS/bcc/zipinfo.prj.UU | uudecode
- if test 6040 -ne `wc -c <'MSDOS/bcc/zipinfo.prj'`; then
- echo shar: \"'MSDOS/bcc/zipinfo.prj'\" uudecoded with wrong size!
- else
- rm MSDOS/bcc/zipinfo.prj.UU
- fi
- fi
- # end of 'MSDOS/bcc/zipinfo.prj.UU'
- fi
- if test -f 'OS2/os2unzip.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'OS2/os2unzip.c'\"
- else
- echo shar: Extracting \"'OS2/os2unzip.c'\" \(8668 characters\)
- sed "s/^X//" >'OS2/os2unzip.c' <<'END_OF_FILE'
- X/* Unix/HPFS filename translation for FAT file systems */
- X/* (with special unzip modifications: sflag) */
- X
- X/* also includes lots of EA code for OS/2 */
- X
- X/* Author: Kai Uwe Rommel */
- X
- X#include "unzip.h"
- X
- X#define INCL_NOPM
- X#define INCL_DOSNLS
- X#define INCL_DOSERRORS
- X#define ULONG _ULONG
- X#include <os2.h>
- X#undef ULONG
- X
- X#ifdef __WATCOMC__
- Xunsigned char __near _osmode = OS2_MODE;
- X#endif
- X
- X
- X#define EAID 0x0009
- X
- X
- Xextern int tflag, quietflg;
- X
- X
- Xtypedef struct
- X{
- X USHORT nID;
- X USHORT nSize;
- X ULONG lSize;
- X}
- XEAHEADER, *PEAHEADER;
- X
- X
- X#ifndef __32BIT__
- X
- Xtypedef struct
- X{
- X ULONG oNextEntryOffset;
- X BYTE fEA;
- X BYTE cbName;
- X USHORT cbValue;
- X CHAR szName[1];
- X}
- XFEA2, *PFEA2;
- X
- Xtypedef struct
- X{
- X ULONG cbList;
- X FEA2 list[1];
- X}
- XFEA2LIST, *PFEA2LIST;
- X
- X#endif
- X
- X
- X#ifndef __32BIT__
- X#define DosSetPathInfo(p1, p2, p3, p4, p5) \
- X DosSetPathInfo(p1, p2, p3, p4, p5, 0)
- X#define DosQueryPathInfo(p1, p2, p3, p4) \
- X DosQPathInfo(p1, p2, p3, p4, 0)
- X#define DosMapCase DosCaseMap
- X#define DosQueryCtryInfo DosGetCtryInfo
- X#endif
- X
- X
- X#ifndef ZIPINFO
- X
- X
- Xextern int sflag; /* user wants to allow spaces (e.g., "EA DATA. SF") */
- X
- Xvoid ChangeNameForFAT(char *name)
- X{
- X char *src, *dst, *next, *ptr, *dot, *start;
- X static char invalid[] = ":;,=+\"[]<>| \t";
- X
- X if ( isalpha(name[0]) && (name[1] == ':') )
- X start = name + 2;
- X else
- X start = name;
- X
- X src = dst = start;
- X if ( (*src == '/') || (*src == '\\') )
- X src++, dst++;
- X
- X while ( *src )
- X {
- X for ( next = src; *next && (*next != '/') && (*next != '\\'); next++ );
- X
- X for ( ptr = src, dot = NULL; ptr < next; ptr++ )
- X if ( *ptr == '.' )
- X {
- X dot = ptr; /* remember last dot */
- X *ptr = '_';
- X }
- X
- X if ( dot == NULL )
- X for ( ptr = src; ptr < next; ptr++ )
- X if ( *ptr == '_' )
- X dot = ptr; /* remember last _ as if it were a dot */
- X
- X if ( dot && (dot > src) &&
- X ((next - dot <= 4) ||
- X ((next - src > 8) && (dot - src > 3))) )
- X {
- X if ( dot )
- X *dot = '.';
- X
- X for ( ptr = src; (ptr < dot) && ((ptr - src) < 8); ptr++ )
- X *dst++ = *ptr;
- X
- X for ( ptr = dot; (ptr < next) && ((ptr - dot) < 4); ptr++ )
- X *dst++ = *ptr;
- X }
- X else
- X {
- X if ( dot && (next - src == 1) )
- X *dot = '.'; /* special case: "." as a path component */
- X
- X for ( ptr = src; (ptr < next) && ((ptr - src) < 8); ptr++ )
- X *dst++ = *ptr;
- X }
- X
- X *dst++ = *next; /* either '/' or 0 */
- X
- X if ( *next )
- X {
- X src = next + 1;
- X
- X if ( *src == 0 ) /* handle trailing '/' on dirs ! */
- X *dst = 0;
- X }
- X else
- X break;
- X }
- X
- X for ( src = start; *src != 0; ++src )
- X if ( (strchr(invalid, *src) != NULL) ||
- X ((*src == ' ') && !sflag) ) /* allow spaces if user wants */
- X *src = '_';
- X}
- X
- X
- Xint IsFileNameValid(char *name)
- X{
- X HFILE hf;
- X#ifdef __32BIT__
- X ULONG uAction;
- X#else
- X USHORT uAction;
- X#endif
- X
- X switch( DosOpen(name, &hf, &uAction, 0, 0, FILE_OPEN,
- X OPEN_ACCESS_READONLY | OPEN_SHARE_DENYNONE, 0) )
- X {
- X case ERROR_INVALID_NAME:
- X case ERROR_FILENAME_EXCED_RANGE:
- X return FALSE;
- X case NO_ERROR:
- X DosClose(hf);
- X default:
- X return TRUE;
- X }
- X}
- X
- X
- Xint GetCountryInfo(void)
- X{
- X COUNTRYINFO ctryi;
- X COUNTRYCODE ctryc;
- X#ifdef __32BIT__
- X ULONG cbInfo;
- X#else
- X USHORT cbInfo;
- X#endif
- X
- X ctryc.country = ctryc.codepage = 0;
- X
- X if ( DosQueryCtryInfo(sizeof(ctryi), &ctryc, &ctryi, &cbInfo) != NO_ERROR )
- X return 0;
- X
- X return ctryi.fsDateFmt;
- X}
- X
- X
- Xlong GetFileTime(char *name)
- X{
- X#ifdef __32BIT__
- X FILESTATUS3 fs;
- X#else
- X FILESTATUS fs;
- X#endif
- X USHORT nDate, nTime;
- X
- X if ( DosQueryPathInfo(name, 1, (PBYTE) &fs, sizeof(fs)) )
- X return -1;
- X
- X nDate = * (USHORT *) &fs.fdateLastWrite;
- X nTime = * (USHORT *) &fs.ftimeLastWrite;
- X
- X return ((ULONG) nDate) << 16 | nTime;
- X}
- X
- X
- Xvoid SetPathInfo(char *path, UWORD moddate, UWORD modtime, int flags)
- X{
- X union {
- X FDATE fd; /* system file date record */
- X UWORD zdate; /* date word */
- X } ud;
- X union {
- X FTIME ft; /* system file time record */
- X UWORD ztime; /* time word */
- X } ut;
- X FILESTATUS fs;
- X USHORT nLength;
- X char szName[CCHMAXPATH];
- X
- X strcpy(szName, path);
- X nLength = strlen(szName);
- X if (szName[nLength - 1] == '/')
- X szName[nLength - 1] = 0;
- X
- X if ( DosQueryPathInfo(szName, FIL_STANDARD, (PBYTE) &fs, sizeof(fs)) )
- X return;
- X
- X ud.zdate = moddate;
- X ut.ztime = modtime;
- X fs.fdateLastWrite = fs.fdateCreation = ud.fd;
- X fs.ftimeLastWrite = fs.ftimeCreation = ut.ft;
- X
- X if ( flags != -1 )
- X fs.attrFile = flags; /* hidden, system, archive, read-only */
- X
- X DosSetPathInfo(szName, FIL_STANDARD, (PBYTE) &fs, sizeof(fs), 0);
- X}
- X
- X
- Xtypedef struct
- X{
- X ULONG cbList; /* length of value + 22 */
- X#ifdef __32BIT__
- X ULONG oNext;
- X#endif
- X BYTE fEA; /* 0 */
- X BYTE cbName; /* length of ".LONGNAME" = 9 */
- X USHORT cbValue; /* length of value + 4 */
- X BYTE szName[10]; /* ".LONGNAME" */
- X USHORT eaType; /* 0xFFFD for length-preceded ASCII */
- X USHORT eaSize; /* length of value */
- X BYTE szValue[CCHMAXPATH];
- X}
- XFEALST;
- X
- X
- Xint SetLongNameEA(char *name, char *longname)
- X{
- X EAOP eaop;
- X FEALST fealst;
- X
- X if ( _osmode == DOS_MODE )
- X return 0;
- X
- X eaop.fpFEAList = (PFEALIST) &fealst;
- X eaop.fpGEAList = NULL;
- X eaop.oError = 0;
- X
- X strcpy(fealst.szName, ".LONGNAME");
- X strcpy(fealst.szValue, longname);
- X
- X fealst.cbList = sizeof(fealst) - CCHMAXPATH + strlen(fealst.szValue);
- X fealst.cbName = (BYTE) strlen(fealst.szName);
- X fealst.cbValue = sizeof(USHORT) * 2 + strlen(fealst.szValue);
- X
- X#ifdef __32BIT__
- X fealst.oNext = 0;
- X#endif
- X fealst.fEA = 0;
- X fealst.eaType = 0xFFFD;
- X fealst.eaSize = strlen(fealst.szValue);
- X
- X return DosSetPathInfo(name, FIL_QUERYEASIZE,
- X (PBYTE) &eaop, sizeof(eaop), 0);
- X}
- X
- X
- Xint IsEA(void *extra_field)
- X{
- X EAHEADER *pEAblock = (PEAHEADER) extra_field;
- X return extra_field != NULL && pEAblock -> nID == EAID;
- X}
- X
- X
- Xvoid SetEAs(char *path, void *eablock)
- X{
- X EAHEADER *pEAblock = (PEAHEADER) eablock;
- X#ifdef __32BIT__
- X EAOP2 eaop;
- X PFEA2LIST pFEA2list;
- X#else
- X EAOP eaop;
- X PFEALIST pFEAlist;
- X PFEA pFEA;
- X PFEA2LIST pFEA2list;
- X PFEA2 pFEA2;
- X ULONG nLength2;
- X#endif
- X USHORT nLength;
- X char szName[CCHMAXPATH];
- X
- X if ( !IsEA(eablock) )
- X return;
- X
- X if ( _osmode == DOS_MODE )
- X return;
- X
- X strcpy(szName, path);
- X nLength = strlen(szName);
- X if (szName[nLength - 1] == '/')
- X szName[nLength - 1] = 0;
- X
- X if ( (pFEA2list = (PFEA2LIST) malloc((size_t) pEAblock -> lSize)) == NULL )
- X return;
- X
- X if ( memextract((char *) pFEA2list, pEAblock -> lSize,
- X (char *) (pEAblock + 1),
- X pEAblock -> nSize - sizeof(pEAblock -> lSize)) )
- X {
- X free(pFEA2list);
- X return;
- X }
- X
- X#ifdef __32BIT__
- X eaop.fpGEA2List = NULL;
- X eaop.fpFEA2List = pFEA2list;
- X#else
- X pFEAlist = (PVOID) pFEA2list;
- X pFEA2 = pFEA2list -> list;
- X pFEA = pFEAlist -> list;
- X
- X do
- X {
- X nLength2 = pFEA2 -> oNextEntryOffset;
- X nLength = sizeof(FEA) + pFEA2 -> cbName + 1 + pFEA2 -> cbValue;
- X
- X memcpy(pFEA, (PCH) pFEA2 + sizeof(pFEA2 -> oNextEntryOffset), nLength);
- X
- X pFEA2 = (PFEA2) ((PCH) pFEA2 + nLength2);
- X pFEA = (PFEA) ((PCH) pFEA + nLength);
- X }
- X while ( nLength2 != 0 );
- X
- X pFEAlist -> cbList = (PCH) pFEA - (PCH) pFEAlist;
- X
- X eaop.fpGEAList = NULL;
- X eaop.fpFEAList = pFEAlist;
- X#endif
- X
- X eaop.oError = 0;
- X DosSetPathInfo(szName, FIL_QUERYEASIZE, (PBYTE) &eaop, sizeof(eaop), 0);
- X
- X if (!tflag && (quietflg < 2))
- X printf(" (%ld bytes EA's)", pFEA2list -> cbList);
- X
- X free(pFEA2list);
- X}
- X
- X
- XULONG SizeOfEAs(void *extra_field)
- X{
- X EAHEADER *pEAblock = (PEAHEADER) extra_field;
- X
- X if ( extra_field != NULL && pEAblock -> nID == EAID )
- X return pEAblock -> lSize;
- X
- X return 0;
- X}
- X
- X
- X#endif /* !ZIPINFO */
- X
- X
- Xstatic unsigned char cUpperCase[256], cLowerCase[256];
- Xstatic BOOL bInitialized;
- X
- Xstatic void InitNLS(void)
- X{
- X unsigned nCnt, nU;
- X COUNTRYCODE cc;
- X
- X bInitialized = TRUE;
- X
- X for ( nCnt = 0; nCnt < 256; nCnt++ )
- X cUpperCase[nCnt] = cLowerCase[nCnt] = (unsigned char) nCnt;
- X
- X cc.country = cc.codepage = 0;
- X DosMapCase(sizeof(cUpperCase), &cc, (PCHAR) cUpperCase);
- X
- X for ( nCnt = 0; nCnt < 256; nCnt++ )
- X {
- X nU = cUpperCase[nCnt];
- X if (nU != nCnt && cLowerCase[nU] == (unsigned char) nU)
- X cLowerCase[nU] = (unsigned char) nCnt;
- X }
- X
- X for ( nCnt = 'A'; nCnt <= 'Z'; nCnt++ )
- X cLowerCase[nCnt] = (unsigned char) (nCnt - 'A' + 'a');
- X}
- X
- X
- Xint IsUpperNLS(int nChr)
- X{
- X if (!bInitialized)
- X InitNLS();
- X return (cUpperCase[nChr] == (unsigned char) nChr);
- X}
- X
- X
- Xint ToLowerNLS(int nChr)
- X{
- X if (!bInitialized)
- X InitNLS();
- X return cLowerCase[nChr];
- X}
- END_OF_FILE
- if test 8668 -ne `wc -c <'OS2/os2unzip.c'`; then
- echo shar: \"'OS2/os2unzip.c'\" unpacked with wrong size!
- fi
- # end of 'OS2/os2unzip.c'
- fi
- echo shar: End of archive 10 \(of 14\).
- cp /dev/null ark10isdone
- MISSING=""
- for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ; do
- if test ! -f ark${I}isdone ; then
- MISSING="${MISSING} ${I}"
- fi
- done
- if test "${MISSING}" = "" ; then
- echo You have unpacked all 14 archives.
- rm -f ark[1-9]isdone ark[1-9][0-9]isdone
- else
- echo You still must unpack the following archives:
- echo " " ${MISSING}
- fi
- exit 0
- exit 0 # Just in case...
-