VMS README for UnZip 5.3 and later, 25 February 1997 
---------------------------------------------------- 
 
Notes about using UnZip and zipfiles under VMS (see INSTALL for instructions 
on compiling): 
 
 - Install UnZip as foreign symbol by adding this to login.com: 
      $ unzip == "$disk:[dir]unzip.exe" 
      $ zipinfo == "$disk:[dir]unzip.exe ""-Z""" 
   where "disk" and "dir" are location of UnZip executable; the "$" before 
   the disk name is important.  Some people, including the author, prefer 
   a short alias such as "ii" instead of "zipinfo"; edit to taste.  (All of 
   the quotes around the -Z are necessary, but don't ask us to explain it...) 
 
 - Optionally install UnZipSFX for use with the MAKESFX.COM command file: 
      $ unzipsfx :== disk:[dir]unzipsfx.exe 
   Thereafter an archive "foo.zip" may be converted to "foo.exe" simply by 
   typing "@makesfx foo" (assuming MAKESFX.COM is in the current directory). 
   Note that there is *no* leading "$" in this case. 
 
 - After proper installation, the default version of UnZip is invoked just 
   as in Unix or MS-DOS:  "unzip -opts archive files".  The hyphen ('-') is 
   the switch character, not the slash ('/') as in native VMS commands.  An 
   alternative is available if VMSCLI is defined during compilation; this 
   version does provide a native VMS-style command interface (e.g., /ZIPINFO 
   instead of -Z).  Both versions accept the command "unzip -v", which can 
   be used to check whether VMSCLI was defined or not; but an even simpler 
   method is to type "unzip" and look at the help screen.  Note that options 
   placed in an environment variable (UNZIP_OPTS) must be of the short, hy- 
   phenated form regardless of how UnZip was compiled. 
 
 - The VMS C runtime library translates all command-line text to lowercase 
   unless it is quoted, making some options and/or filenames not work as 
   intended.  For example: 
	unzip -V zipfile vms/README;* 
   is translated to 
	unzip -v zipfile vms/readme;* 
   which may not match the contents of the zipfile and definitely won't 
   extract the file with its version number as intended.  This can be 
   avoided by use of the -C option (/CASE_INSENSITIVE) or by enclosing 
   the uppercase stuff in quotes: 
	unzip "-V" zipfile "vms/README;*" 
   Note that quoting the whole line probably won't work, since it would 
   be interpreted as a single argument by the C library. 
 
 - Wildcards that refer to files internal to the archive behave like Unix 
   wildcards, not VMS ones (assuming UnZip was not compiled with VMSWILD 
   defined).  This is both a matter of consistency (see above) and power-- 
   full Unix regular expressions are supported, so that one can specify 
   "all .c and .h files that start with a, b, c or d and do not have a 2 
   before the dot" as "[a-d]*[^2].[ch]".  Of course, "*.[ch]" is a much more 
   common wildcard specification, but the power is there if you need it. 
   Note that "*" matches zipfile directory separators ('/'), too.  If UnZip 
   *was* compiled with VMSWILD defined (do "unzip -v" to check), the single- 
   character wildcard is "%" rather than "?", and character sets (ranges) 
   are delimited with () instead of [] (for example, "*.(ch)"). 
 
 - Wildcards that refer to zipfiles (i.e., external VMS files) behave like 
   normal VMS wildcards regardless of whether VMSWILD was defined or not. 
   Ranges are not supported.  Thus "unzip *font-%.zip" is about as much as 
   one can do for specifying wildcard zipfiles. 
 
 - Created files get whatever permissions were stored in the archive (mapped 
   to VMS and/or masked with your default permissions, depending on the 
   originating operating system), but created directories additionally in- 
   herit the (possibly more restrictive) permissions of the parent directory. 
   And obviously things won't work if you don't have permission to write to 
   the extraction directory. 
 
 - When transferring files, particularly via Kermit, pay attention to the 
   settings!  In particular, zipfiles must be transferred in some binary 
   mode, which is NOT Kermit's default mode, and this mode must usually be 
   set on BOTH sides of the transfer (e.g., both VAX and PC).  See the notes 
   below for details. 
 
 
 
 
From Info-ZIP Digest (Wed, 6 Nov 1991), Volume 91, Issue 290: 
 
   Date: Tue, 5 Nov 91 15:31 CDT 
   From: Hugh Schmidt <HUGH@macc.wisc.edu> 
 
            **************************************************** 
            *** VMS ZIP and PKZIP compatibility using KERMIT *** 
            **************************************************** 
 
   Many use Procomm's kermit to transfer zipped files between PC and VMS 
   VAX.  The following VMS kermit settings make VMS Zip/UnZip compatible 
   with PC Zip/UnZip or PKZIP/PKUNZIP: 
                                         VMS kermit          Procomm kermit 
                                    -------------------   -------------------- 
   Uploading PC zipfile to VMS:     set file type fixed   set file type binary 
   Downloading VMS zipfile to PC:   set file type block   set file type binary 
 
   "Block I/O lets you bypass the VMS RMS record-processing capabilities 
   entirely", (Guide to VMS file applications, Section 8.5).  The kermit 
   guys must have known this! 
