Home » Personal collection » Acorn hard disk » unzip_tools » !Infozip » Routines/unzipsfx.t

Routines/unzipsfx.t

This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.

Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.

Tape/disk: Home » Personal collection » Acorn hard disk » unzip_tools » !Infozip
Filename: Routines/unzipsfx.t
Read OK:
File size: 3763 bytes
Load address: 0000
Exec address: 0000
File contents
UNZIPSFX(1L)                                                      UNZIPSFX(1L)

NAME
       unzipsfx - self-extracting stub for prepending to ZIP archives

SYNOPSIS
       <name  of  unzipsfx+archive  combo>  [-cfptuz[ajnoqsCLV$]] [file(s) ...
       [-x xfile(s) ...]]

DESCRIPTION
       unzipsfx is a modified version of unzip(1L) designed to be prepended to
       existing  ZIP  archives  in  order  to  form  self-extracting archives.
       Instead of taking its first non-flag argument to be the  zipfile(s)  to
       be  extracted,  unzipsfx  seeks  itself  under the name by which it was
       invoked and tests or extracts the contents  of  the  appended  archive.
       Because the executable stub adds bulk to the archive (the whole purpose
       of which is to be as small as possible), a  number  of  the  less-vital
       capabilities  in  regular unzip have been removed.  Among these are the
       usage (or help) screen, the listing and diagnostic  functions  (-l  and
       -v),   the   ability  to  decompress  older  compression  formats  (the
       ``reduce,''  ``shrink''  and  ``implode''  methods).   The  ability  to
       extract  to a directory other than the current one can be selected as a
       compile-time option, which is now enabled  by  default  since  UnZipSFX
       version  5.5.   Similarly,  decryption  is  supported as a compile-time
       option but should be  avoided  unless  the  attached  archive  contains
       encrypted files. Starting with release 5.5, another compile-time option
       adds a simple ``run command after extraction'' feature.   This  feature
       is  currently  incompatible with the ``extract to different directory''
       feature and remains disabled by default.

       Note that self-extracting archives made with unzipsfx are no  more  (or
       less)  portable  across  different  operating systems than is the unzip
       executable itself.  In general a self-extracting archive made on a par-
       ticular Unix system, for example, will only self-extract under the same
       flavor of Unix.  Regular unzip may still be used to extract the  embed-
       ded  archive  as  with  any normal zipfile, although it will generate a
       harmless warning about extra bytes at the  beginning  of  the  zipfile.
       Despite this, however, the self-extracting archive is technically not a
       valid ZIP archive, and PKUNZIP may be unable to  test  or  extract  it.
       This limitation is due to the simplistic manner in which the archive is
       created; the internal directory structure is not updated to reflect the
       extra bytes prepended to the original zipfile.

ARGUMENTS
       [file(s)]
              An  optional  list  of archive members to be processed.  Regular
              expressions (wildcards) similar to those in Unix egrep(1) may be
              used to match multiple members.  These wildcards may contain:

              *      matches a sequence of 0 or more characters

              ?      matches exactly 1 character

              [...]  matches  any  single character found inside the brackets;
                     ranges are specified by a beginning character, a  hyphen,
                     and  an  ending  character.  If an exclamation point or a
                     caret (`!' or `^') follows the  left  bracket,  then  the
                     range  of  characters within the brackets is complemented
                     (that is,  anything  except  the  characters  inside  the
                     brackets is considered a match).

              (Be  sure  to quote any character that might otherwise be inter-
              preted or modified by the operating system,  particularly  under
              Unix and VMS.)

       [-x xfile(s)]
              An optional list of archive members to be excluded from process-
              ing.   Since  wildcard  characters  match  directory  separators
              (`/'),  this option may be used to exclude any files that are in
              subdirectories.  For example, ``foosfx  *.[ch]  -x  */*''  would
              extract  all  C  source files in the main directory, but none in
              any subdirectories.  Without the -x option, all C  source  files
              in all directories within the zipfile would be extracted.

       If unzipsfx is compiled with SFX_EXDIR defined, the following option is
       also enabled:

       [-d exdir]
              An optional directory to which to extract  files.   By  default,
              all files and subdirectories are recreated in the current direc-
              tory; the -d option allows extraction in an arbitrary  directory
              (always  assuming one has permission to write to the directory).
              The option and directory may be concatenated without  any  white
              space  between  them,  but note that this may cause normal shell
              behavior to be suppressed.  In particular, ``-d ~''  (tilde)  is
              expanded  by  Unix  C  shells  into  the name of the user's home
              directory, but ``-d~'' is  treated  as  a  literal  subdirectory
              ``~'' of the current directory.

OPTIONS
       unzipsfx  supports the following unzip(1L) options:  -c and -p (extract
       to standard output/screen), -f and  -u  (freshen  and  update  existing
       files  upon  extraction),  -t (test archive) and -z (print archive com-
       ment).  All normal listing options (-l, -v and -Z) have  been  removed,
       but  the  testing  option (-t) may be used as a ``poor man's'' listing.
       Alternatively, those creating  self-extracting  archives  may  wish  to
       include a short listing in the zipfile comment.

       See unzip(1L) for a more complete description of these options.

MODIFIERS
       unzipsfx  currently supports all unzip(1L) modifiers:  -a (convert text
       files), -n (never overwrite),  -o  (overwrite  without  prompting),  -q
       (operate  quietly),  -C  (match  names case-insensitively), -L (convert
       uppercase-OS names to lowercase), -j (junk paths) and -V  (retain  ver-
       sion  numbers);  plus  the following operating-system specific options:
       -X (restore VMS owner/protection info), -s (convert spaces in filenames
       to  underscores  [DOS,  OS/2,  NT])  and -$ (restore volume label [DOS,
       OS/2, NT, Amiga]).

       (Support for regular ASCII text-conversion may  be  removed  in  future
       versions, since it is simple enough for the archive's creator to ensure
       that text files have the appropriate format for the local  OS.   EBCDIC
       conversion  will  of  course continue to be supported since the zipfile
       format implies ASCII storage of text files.)

       See unzip(1L) for a more complete description of these modifiers.

ENVIRONMENT OPTIONS
       unzipsfx  uses  the  same  environment  variables  as  unzip(1L)  does,
       although this is likely to be an issue only for the person creating and
       testing the self-extracting archive.  See unzip(1L) for details.

DECRYPTION
       Decryption is supported exactly as in unzip(1L); that is, interactively
       with  a  non-echoing  prompt  for  the  password(s).  See unzip(1L) for
       details.  Once again, note that if the archive has no  encrypted  files
       there  is  no  reason to use a version of unzipsfx with decryption sup-
       port; that only adds to the size of the archive.

AUTORUN COMMAND
       When unzipsfx was compiled with  CHEAP_SFX_AUTORUN  defined,  a  simple
       ``command  autorun'' feature is supported. You may enter a command into
       the Zip archive comment, using the following format:

           $AUTORUN$>[command line string]

       When unzipsfx recognizes the ``$AUTORUN$>'' token at the  beginning  of
       the Zip archive comment, the remainder of the first line of the comment
       (until the first newline character) is passed as a shell command to the
       operating  system using the C rtl ``system'' function. Before executing
       the command, unzipsfx displays the command on the console  and  prompts
       the user for confirmation.  When the user has switched off prompting by
       specifying the -q option, autorun commands are never executed.

       In case the archive comment contains  additional  lines  of  text,  the
       remainder  of the archive comment following the first line is displayed
       normally, unless quiet  operation  was  requested  by  supplying  a  -q
       option.

EXAMPLES
       To create a self-extracting archive letters from a regular zipfile let-
       ters.zip and change the new  archive's  permissions  to  be  world-exe-
       cutable under Unix:

           cat unzipsfx letters.zip > letters
           chmod 755 letters
           zip -A letters

       To  create  the  same archive under MS-DOS, OS/2 or NT (note the use of
       the /b [binary] option to the copy command):

           copy /b unzipsfx.exe+letters.zip letters.exe
           zip -A letters.exe

       Under VMS:

           copy unzipsfx.exe,letters.zip letters.exe
           letters == "$currentdisk:[currentdir]letters.exe"
           zip -A letters.exe

       (The VMS append command may also be used.  The second command  installs
       the  new  program as a ``foreign command'' capable of taking arguments.
       The third line assumes that Zip is already installed as a foreign  com-
       mand.)  Under AmigaDOS:

           MakeSFX letters letters.zip UnZipSFX

       (MakeSFX  is included with the UnZip source distribution and with Amiga
       binary distributions.  ``zip -A'' doesn't work on Amiga self-extracting
       archives.)   To  test  (or  list)  the  newly  created  self-extracting
       archive:

           letters -t

       To test letters quietly, printing only  a  summary  message  indicating
       whether the archive is OK or not:

           letters -tqq

       To extract the complete contents into the current directory, recreating
       all files and subdirectories as necessary:

           letters

       To extract all *.txt files (in Unix quote the `*'):

           letters *.txt

       To extract everything except the *.txt files:

           letters -x *.txt

       To extract only the README file to standard output (the screen):

           letters -c README

       To print only the zipfile comment:

           letters -z

LIMITATIONS
       The principle and fundamental limitation of unzipsfx is that it is  not
       portable  across architectures or operating systems, and therefore nei-
       ther are the resulting archives.  For some architectures there is  lim-
       ited  portability,  however  (e.g., between some flavors of Intel-based
       Unix).

       Another problem with the current implementation  is  that  any  archive
       with  ``junk''  prepended  to  the beginning technically is no longer a
       zipfile (unless zip(1) is used to adjust the zipfile offsets  appropri-
       ately, as noted above).  unzip(1) takes note of the prepended bytes and
       ignores them since some file-transfer protocols, notably MacBinary, are
       also  known  to  prepend  junk.  But PKWARE's archiver suite may not be
       able to deal with the modified archive unless  its  offsets  have  been
       adjusted.

       unzipsfx  has no knowledge of the user's PATH, so in general an archive
       must either be in the current directory when it is invoked, or  else  a
       full or relative path must be given.  If a user attempts to extract the
       archive from a directory in  the  PATH  other  than  the  current  one,
       unzipsfx  will  print  a  warning to the effect, ``can't find myself.''
       This is always true under Unix and may be true in some cases under  MS-
       DOS,  depending  on  the compiler used (Microsoft C fully qualifies the
       program name, but other compilers may not).  Under OS/2  and  NT  there
       are  operating-system  calls available that provide the full path name,
       so the archive may be invoked from anywhere in the  user's  path.   The
       situation is not known for AmigaDOS, Atari TOS, MacOS, etc.

       As  noted  above,  a number of the normal unzip(1L) functions have been
       removed in order to make unzipsfx smaller:  usage and diagnostic  info,
       listing  functions  and  extraction  to  other directories.  Also, only
       stored and deflated files are  supported.   The  latter  limitation  is
       mainly relevant to those who create SFX archives, however.

       VMS  users  must know how to set up self-extracting archives as foreign
       commands in order to use any of unzipsfx's options.  This is not neces-
       sary  for  simple  extraction,  but  the command to do so then becomes,
       e.g., ``run letters'' (to continue the examples given above).

       unzipsfx on the Amiga requires the use of a special  program,  MakeSFX,
       in  order to create working self-extracting archives; simple concatena-
       tion does not work.  (For  technically  oriented  users,  the  attached
       archive  is  defined  as a ``debug hunk.'')  There may be compatibility
       problems between the ROM levels of older Amigas and newer ones.

       All current bugs in unzip(1L) exist in unzipsfx as well.

DIAGNOSTICS
       unzipsfx's exit status (error level) is identical to that of unzip(1L);
       see the corresponding man page.

SEE ALSO
       funzip(1L), unzip(1L), zip(1L), zipcloak(1L), zipgrep(1L), zipinfo(1L),
       zipnote(1L), zipsplit(1L)

URL
       The Info-ZIP home page is currently at
           http://www.info-zip.org/pub/infozip/
       or
           ftp://ftp.info-zip.org/pub/infozip/ .

AUTHORS
       Greg Roelofs was responsible for the basic modifications to UnZip  nec-
       essary  to create UnZipSFX.  See unzip(1L) for the current list of Zip-
       Bugs authors, or the file CONTRIBS in the UnZip source distribution for
       the full list of Info-ZIP contributors.

Info-ZIP                     20 April 2009 (v6.0)                 UNZIPSFX(1L)
00000000  55 4e 5a 49 50 53 46 58  28 31 4c 29 20 20 20 20  |UNZIPSFX(1L)    |
00000010  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00000040  20 20 55 4e 5a 49 50 53  46 58 28 31 4c 29 0a 0a  |  UNZIPSFX(1L)..|
00000050  4e 41 4d 45 0a 20 20 20  20 20 20 20 75 6e 7a 69  |NAME.       unzi|
00000060  70 73 66 78 20 2d 20 73  65 6c 66 2d 65 78 74 72  |psfx - self-extr|
00000070  61 63 74 69 6e 67 20 73  74 75 62 20 66 6f 72 20  |acting stub for |
00000080  70 72 65 70 65 6e 64 69  6e 67 20 74 6f 20 5a 49  |prepending to ZI|
00000090  50 20 61 72 63 68 69 76  65 73 0a 0a 53 59 4e 4f  |P archives..SYNO|
000000a0  50 53 49 53 0a 20 20 20  20 20 20 20 3c 6e 61 6d  |PSIS.       <nam|
000000b0  65 20 20 6f 66 20 20 75  6e 7a 69 70 73 66 78 2b  |e  of  unzipsfx+|
000000c0  61 72 63 68 69 76 65 20  20 63 6f 6d 62 6f 3e 20  |archive  combo> |
000000d0  20 5b 2d 63 66 70 74 75  7a 5b 61 6a 6e 6f 71 73  | [-cfptuz[ajnoqs|
000000e0  43 4c 56 24 5d 5d 20 5b  66 69 6c 65 28 73 29 20  |CLV$]] [file(s) |
000000f0  2e 2e 2e 0a 20 20 20 20  20 20 20 5b 2d 78 20 78  |....       [-x x|
00000100  66 69 6c 65 28 73 29 20  2e 2e 2e 5d 5d 0a 0a 44  |file(s) ...]]..D|
00000110  45 53 43 52 49 50 54 49  4f 4e 0a 20 20 20 20 20  |ESCRIPTION.     |
00000120  20 20 75 6e 7a 69 70 73  66 78 20 69 73 20 61 20  |  unzipsfx is a |
00000130  6d 6f 64 69 66 69 65 64  20 76 65 72 73 69 6f 6e  |modified version|
00000140  20 6f 66 20 75 6e 7a 69  70 28 31 4c 29 20 64 65  | of unzip(1L) de|
00000150  73 69 67 6e 65 64 20 74  6f 20 62 65 20 70 72 65  |signed to be pre|
00000160  70 65 6e 64 65 64 20 74  6f 0a 20 20 20 20 20 20  |pended to.      |
00000170  20 65 78 69 73 74 69 6e  67 20 20 5a 49 50 20 20  | existing  ZIP  |
00000180  61 72 63 68 69 76 65 73  20 20 69 6e 20 20 6f 72  |archives  in  or|
00000190  64 65 72 20 20 74 6f 20  20 66 6f 72 6d 20 20 73  |der  to  form  s|
000001a0  65 6c 66 2d 65 78 74 72  61 63 74 69 6e 67 20 61  |elf-extracting a|
000001b0  72 63 68 69 76 65 73 2e  0a 20 20 20 20 20 20 20  |rchives..       |
000001c0  49 6e 73 74 65 61 64 20  6f 66 20 74 61 6b 69 6e  |Instead of takin|
000001d0  67 20 69 74 73 20 66 69  72 73 74 20 6e 6f 6e 2d  |g its first non-|
000001e0  66 6c 61 67 20 61 72 67  75 6d 65 6e 74 20 74 6f  |flag argument to|
000001f0  20 62 65 20 74 68 65 20  20 7a 69 70 66 69 6c 65  | be the  zipfile|
00000200  28 73 29 20 20 74 6f 0a  20 20 20 20 20 20 20 62  |(s)  to.       b|
00000210  65 20 20 65 78 74 72 61  63 74 65 64 2c 20 20 75  |e  extracted,  u|
00000220  6e 7a 69 70 73 66 78 20  20 73 65 65 6b 73 20 20  |nzipsfx  seeks  |
00000230  69 74 73 65 6c 66 20 20  75 6e 64 65 72 20 74 68  |itself  under th|
00000240  65 20 6e 61 6d 65 20 62  79 20 77 68 69 63 68 20  |e name by which |
00000250  69 74 20 77 61 73 0a 20  20 20 20 20 20 20 69 6e  |it was.       in|
00000260  76 6f 6b 65 64 20 61 6e  64 20 74 65 73 74 73 20  |voked and tests |
00000270  6f 72 20 65 78 74 72 61  63 74 73 20 74 68 65 20  |or extracts the |
00000280  63 6f 6e 74 65 6e 74 73  20 20 6f 66 20 20 74 68  |contents  of  th|
00000290  65 20 20 61 70 70 65 6e  64 65 64 20 20 61 72 63  |e  appended  arc|
000002a0  68 69 76 65 2e 0a 20 20  20 20 20 20 20 42 65 63  |hive..       Bec|
000002b0  61 75 73 65 20 74 68 65  20 65 78 65 63 75 74 61  |ause the executa|
000002c0  62 6c 65 20 73 74 75 62  20 61 64 64 73 20 62 75  |ble stub adds bu|
000002d0  6c 6b 20 74 6f 20 74 68  65 20 61 72 63 68 69 76  |lk to the archiv|
000002e0  65 20 28 74 68 65 20 77  68 6f 6c 65 20 70 75 72  |e (the whole pur|
000002f0  70 6f 73 65 0a 20 20 20  20 20 20 20 6f 66 20 77  |pose.       of w|
00000300  68 69 63 68 20 69 73 20  74 6f 20 62 65 20 61 73  |hich is to be as|
00000310  20 73 6d 61 6c 6c 20 61  73 20 70 6f 73 73 69 62  | small as possib|
00000320  6c 65 29 2c 20 61 20 20  6e 75 6d 62 65 72 20 20  |le), a  number  |
00000330  6f 66 20 20 74 68 65 20  20 6c 65 73 73 2d 76 69  |of  the  less-vi|
00000340  74 61 6c 0a 20 20 20 20  20 20 20 63 61 70 61 62  |tal.       capab|
00000350  69 6c 69 74 69 65 73 20  20 69 6e 20 20 72 65 67  |ilities  in  reg|
00000360  75 6c 61 72 20 75 6e 7a  69 70 20 68 61 76 65 20  |ular unzip have |
00000370  62 65 65 6e 20 72 65 6d  6f 76 65 64 2e 20 20 41  |been removed.  A|
00000380  6d 6f 6e 67 20 74 68 65  73 65 20 61 72 65 20 74  |mong these are t|
00000390  68 65 0a 20 20 20 20 20  20 20 75 73 61 67 65 20  |he.       usage |
000003a0  28 6f 72 20 68 65 6c 70  29 20 73 63 72 65 65 6e  |(or help) screen|
000003b0  2c 20 74 68 65 20 6c 69  73 74 69 6e 67 20 61 6e  |, the listing an|
000003c0  64 20 64 69 61 67 6e 6f  73 74 69 63 20 20 66 75  |d diagnostic  fu|
000003d0  6e 63 74 69 6f 6e 73 20  20 28 2d 6c 20 20 61 6e  |nctions  (-l  an|
000003e0  64 0a 20 20 20 20 20 20  20 2d 76 29 2c 20 20 20  |d.       -v),   |
000003f0  74 68 65 20 20 20 61 62  69 6c 69 74 79 20 20 74  |the   ability  t|
00000400  6f 20 20 64 65 63 6f 6d  70 72 65 73 73 20 20 6f  |o  decompress  o|
00000410  6c 64 65 72 20 20 63 6f  6d 70 72 65 73 73 69 6f  |lder  compressio|
00000420  6e 20 20 66 6f 72 6d 61  74 73 20 20 28 74 68 65  |n  formats  (the|
00000430  0a 20 20 20 20 20 20 20  60 60 72 65 64 75 63 65  |.       ``reduce|
00000440  2c 27 27 20 20 60 60 73  68 72 69 6e 6b 27 27 20  |,''  ``shrink'' |
00000450  20 61 6e 64 20 20 60 60  69 6d 70 6c 6f 64 65 27  | and  ``implode'|
00000460  27 20 20 6d 65 74 68 6f  64 73 29 2e 20 20 20 54  |'  methods).   T|
00000470  68 65 20 20 61 62 69 6c  69 74 79 20 20 74 6f 0a  |he  ability  to.|
00000480  20 20 20 20 20 20 20 65  78 74 72 61 63 74 20 20  |       extract  |
00000490  74 6f 20 61 20 64 69 72  65 63 74 6f 72 79 20 6f  |to a directory o|
000004a0  74 68 65 72 20 74 68 61  6e 20 74 68 65 20 63 75  |ther than the cu|
000004b0  72 72 65 6e 74 20 6f 6e  65 20 63 61 6e 20 62 65  |rrent one can be|
000004c0  20 73 65 6c 65 63 74 65  64 20 61 73 20 61 0a 20  | selected as a. |
000004d0  20 20 20 20 20 20 63 6f  6d 70 69 6c 65 2d 74 69  |      compile-ti|
000004e0  6d 65 20 6f 70 74 69 6f  6e 2c 20 77 68 69 63 68  |me option, which|
000004f0  20 69 73 20 6e 6f 77 20  65 6e 61 62 6c 65 64 20  | is now enabled |
00000500  20 62 79 20 20 64 65 66  61 75 6c 74 20 20 73 69  | by  default  si|
00000510  6e 63 65 20 20 55 6e 5a  69 70 53 46 58 0a 20 20  |nce  UnZipSFX.  |
00000520  20 20 20 20 20 76 65 72  73 69 6f 6e 20 20 35 2e  |     version  5.|
00000530  35 2e 20 20 20 53 69 6d  69 6c 61 72 6c 79 2c 20  |5.   Similarly, |
00000540  20 64 65 63 72 79 70 74  69 6f 6e 20 20 69 73 20  | decryption  is |
00000550  20 73 75 70 70 6f 72 74  65 64 20 61 73 20 61 20  | supported as a |
00000560  63 6f 6d 70 69 6c 65 2d  74 69 6d 65 0a 20 20 20  |compile-time.   |
00000570  20 20 20 20 6f 70 74 69  6f 6e 20 62 75 74 20 73  |    option but s|
00000580  68 6f 75 6c 64 20 62 65  20 20 61 76 6f 69 64 65  |hould be  avoide|
00000590  64 20 20 75 6e 6c 65 73  73 20 20 74 68 65 20 20  |d  unless  the  |
000005a0  61 74 74 61 63 68 65 64  20 20 61 72 63 68 69 76  |attached  archiv|
000005b0  65 20 20 63 6f 6e 74 61  69 6e 73 0a 20 20 20 20  |e  contains.    |
000005c0  20 20 20 65 6e 63 72 79  70 74 65 64 20 66 69 6c  |   encrypted fil|
000005d0  65 73 2e 20 53 74 61 72  74 69 6e 67 20 77 69 74  |es. Starting wit|
000005e0  68 20 72 65 6c 65 61 73  65 20 35 2e 35 2c 20 61  |h release 5.5, a|
000005f0  6e 6f 74 68 65 72 20 63  6f 6d 70 69 6c 65 2d 74  |nother compile-t|
00000600  69 6d 65 20 6f 70 74 69  6f 6e 0a 20 20 20 20 20  |ime option.     |
00000610  20 20 61 64 64 73 20 61  20 73 69 6d 70 6c 65 20  |  adds a simple |
00000620  60 60 72 75 6e 20 63 6f  6d 6d 61 6e 64 20 61 66  |``run command af|
00000630  74 65 72 20 65 78 74 72  61 63 74 69 6f 6e 27 27  |ter extraction''|
00000640  20 66 65 61 74 75 72 65  2e 20 20 20 54 68 69 73  | feature.   This|
00000650  20 20 66 65 61 74 75 72  65 0a 20 20 20 20 20 20  |  feature.      |
00000660  20 69 73 20 20 63 75 72  72 65 6e 74 6c 79 20 20  | is  currently  |
00000670  69 6e 63 6f 6d 70 61 74  69 62 6c 65 20 77 69 74  |incompatible wit|
00000680  68 20 74 68 65 20 60 60  65 78 74 72 61 63 74 20  |h the ``extract |
00000690  74 6f 20 64 69 66 66 65  72 65 6e 74 20 64 69 72  |to different dir|
000006a0  65 63 74 6f 72 79 27 27  0a 20 20 20 20 20 20 20  |ectory''.       |
000006b0  66 65 61 74 75 72 65 20  61 6e 64 20 72 65 6d 61  |feature and rema|
000006c0  69 6e 73 20 64 69 73 61  62 6c 65 64 20 62 79 20  |ins disabled by |
000006d0  64 65 66 61 75 6c 74 2e  0a 0a 20 20 20 20 20 20  |default...      |
000006e0  20 4e 6f 74 65 20 74 68  61 74 20 73 65 6c 66 2d  | Note that self-|
000006f0  65 78 74 72 61 63 74 69  6e 67 20 61 72 63 68 69  |extracting archi|
00000700  76 65 73 20 6d 61 64 65  20 77 69 74 68 20 75 6e  |ves made with un|
00000710  7a 69 70 73 66 78 20 61  72 65 20 6e 6f 20 20 6d  |zipsfx are no  m|
00000720  6f 72 65 20 20 28 6f 72  0a 20 20 20 20 20 20 20  |ore  (or.       |
00000730  6c 65 73 73 29 20 20 70  6f 72 74 61 62 6c 65 20  |less)  portable |
00000740  20 61 63 72 6f 73 73 20  20 64 69 66 66 65 72 65  | across  differe|
00000750  6e 74 20 20 6f 70 65 72  61 74 69 6e 67 20 73 79  |nt  operating sy|
00000760  73 74 65 6d 73 20 74 68  61 6e 20 69 73 20 74 68  |stems than is th|
00000770  65 20 75 6e 7a 69 70 0a  20 20 20 20 20 20 20 65  |e unzip.       e|
00000780  78 65 63 75 74 61 62 6c  65 20 69 74 73 65 6c 66  |xecutable itself|
00000790  2e 20 20 49 6e 20 67 65  6e 65 72 61 6c 20 61 20  |.  In general a |
000007a0  73 65 6c 66 2d 65 78 74  72 61 63 74 69 6e 67 20  |self-extracting |
000007b0  61 72 63 68 69 76 65 20  6d 61 64 65 20 6f 6e 20  |archive made on |
000007c0  61 20 70 61 72 2d 0a 20  20 20 20 20 20 20 74 69  |a par-.       ti|
000007d0  63 75 6c 61 72 20 55 6e  69 78 20 73 79 73 74 65  |cular Unix syste|
000007e0  6d 2c 20 66 6f 72 20 65  78 61 6d 70 6c 65 2c 20  |m, for example, |
000007f0  77 69 6c 6c 20 6f 6e 6c  79 20 73 65 6c 66 2d 65  |will only self-e|
00000800  78 74 72 61 63 74 20 75  6e 64 65 72 20 74 68 65  |xtract under the|
00000810  20 73 61 6d 65 0a 20 20  20 20 20 20 20 66 6c 61  | same.       fla|
00000820  76 6f 72 20 6f 66 20 55  6e 69 78 2e 20 20 52 65  |vor of Unix.  Re|
00000830  67 75 6c 61 72 20 75 6e  7a 69 70 20 6d 61 79 20  |gular unzip may |
00000840  73 74 69 6c 6c 20 62 65  20 75 73 65 64 20 74 6f  |still be used to|
00000850  20 65 78 74 72 61 63 74  20 74 68 65 20 20 65 6d  | extract the  em|
00000860  62 65 64 2d 0a 20 20 20  20 20 20 20 64 65 64 20  |bed-.       ded |
00000870  20 61 72 63 68 69 76 65  20 20 61 73 20 20 77 69  | archive  as  wi|
00000880  74 68 20 20 61 6e 79 20  6e 6f 72 6d 61 6c 20 7a  |th  any normal z|
00000890  69 70 66 69 6c 65 2c 20  61 6c 74 68 6f 75 67 68  |ipfile, although|
000008a0  20 69 74 20 77 69 6c 6c  20 67 65 6e 65 72 61 74  | it will generat|
000008b0  65 20 61 0a 20 20 20 20  20 20 20 68 61 72 6d 6c  |e a.       harml|
000008c0  65 73 73 20 77 61 72 6e  69 6e 67 20 61 62 6f 75  |ess warning abou|
000008d0  74 20 65 78 74 72 61 20  62 79 74 65 73 20 61 74  |t extra bytes at|
000008e0  20 74 68 65 20 20 62 65  67 69 6e 6e 69 6e 67 20  | the  beginning |
000008f0  20 6f 66 20 20 74 68 65  20 20 7a 69 70 66 69 6c  | of  the  zipfil|
00000900  65 2e 0a 20 20 20 20 20  20 20 44 65 73 70 69 74  |e..       Despit|
00000910  65 20 74 68 69 73 2c 20  68 6f 77 65 76 65 72 2c  |e this, however,|
00000920  20 74 68 65 20 73 65 6c  66 2d 65 78 74 72 61 63  | the self-extrac|
00000930  74 69 6e 67 20 61 72 63  68 69 76 65 20 69 73 20  |ting archive is |
00000940  74 65 63 68 6e 69 63 61  6c 6c 79 20 6e 6f 74 20  |technically not |
00000950  61 0a 20 20 20 20 20 20  20 76 61 6c 69 64 20 5a  |a.       valid Z|
00000960  49 50 20 61 72 63 68 69  76 65 2c 20 61 6e 64 20  |IP archive, and |
00000970  50 4b 55 4e 5a 49 50 20  6d 61 79 20 62 65 20 75  |PKUNZIP may be u|
00000980  6e 61 62 6c 65 20 74 6f  20 20 74 65 73 74 20 20  |nable to  test  |
00000990  6f 72 20 20 65 78 74 72  61 63 74 20 20 69 74 2e  |or  extract  it.|
000009a0  0a 20 20 20 20 20 20 20  54 68 69 73 20 6c 69 6d  |.       This lim|
000009b0  69 74 61 74 69 6f 6e 20  69 73 20 64 75 65 20 74  |itation is due t|
000009c0  6f 20 74 68 65 20 73 69  6d 70 6c 69 73 74 69 63  |o the simplistic|
000009d0  20 6d 61 6e 6e 65 72 20  69 6e 20 77 68 69 63 68  | manner in which|
000009e0  20 74 68 65 20 61 72 63  68 69 76 65 20 69 73 0a  | the archive is.|
000009f0  20 20 20 20 20 20 20 63  72 65 61 74 65 64 3b 20  |       created; |
00000a00  74 68 65 20 69 6e 74 65  72 6e 61 6c 20 64 69 72  |the internal dir|
00000a10  65 63 74 6f 72 79 20 73  74 72 75 63 74 75 72 65  |ectory structure|
00000a20  20 69 73 20 6e 6f 74 20  75 70 64 61 74 65 64 20  | is not updated |
00000a30  74 6f 20 72 65 66 6c 65  63 74 20 74 68 65 0a 20  |to reflect the. |
00000a40  20 20 20 20 20 20 65 78  74 72 61 20 62 79 74 65  |      extra byte|
00000a50  73 20 70 72 65 70 65 6e  64 65 64 20 74 6f 20 74  |s prepended to t|
00000a60  68 65 20 6f 72 69 67 69  6e 61 6c 20 7a 69 70 66  |he original zipf|
00000a70  69 6c 65 2e 0a 0a 41 52  47 55 4d 45 4e 54 53 0a  |ile...ARGUMENTS.|
00000a80  20 20 20 20 20 20 20 5b  66 69 6c 65 28 73 29 5d  |       [file(s)]|
00000a90  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 41  |.              A|
00000aa0  6e 20 20 6f 70 74 69 6f  6e 61 6c 20 20 6c 69 73  |n  optional  lis|
00000ab0  74 20 20 6f 66 20 61 72  63 68 69 76 65 20 6d 65  |t  of archive me|
00000ac0  6d 62 65 72 73 20 74 6f  20 62 65 20 70 72 6f 63  |mbers to be proc|
00000ad0  65 73 73 65 64 2e 20 20  52 65 67 75 6c 61 72 0a  |essed.  Regular.|
00000ae0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 65 78  |              ex|
00000af0  70 72 65 73 73 69 6f 6e  73 20 28 77 69 6c 64 63  |pressions (wildc|
00000b00  61 72 64 73 29 20 73 69  6d 69 6c 61 72 20 74 6f  |ards) similar to|
00000b10  20 74 68 6f 73 65 20 69  6e 20 55 6e 69 78 20 65  | those in Unix e|
00000b20  67 72 65 70 28 31 29 20  6d 61 79 20 62 65 0a 20  |grep(1) may be. |
00000b30  20 20 20 20 20 20 20 20  20 20 20 20 20 75 73 65  |             use|
00000b40  64 20 74 6f 20 6d 61 74  63 68 20 6d 75 6c 74 69  |d to match multi|
00000b50  70 6c 65 20 6d 65 6d 62  65 72 73 2e 20 20 54 68  |ple members.  Th|
00000b60  65 73 65 20 77 69 6c 64  63 61 72 64 73 20 6d 61  |ese wildcards ma|
00000b70  79 20 63 6f 6e 74 61 69  6e 3a 0a 0a 20 20 20 20  |y contain:..    |
00000b80  20 20 20 20 20 20 20 20  20 20 2a 20 20 20 20 20  |          *     |
00000b90  20 6d 61 74 63 68 65 73  20 61 20 73 65 71 75 65  | matches a seque|
00000ba0  6e 63 65 20 6f 66 20 30  20 6f 72 20 6d 6f 72 65  |nce of 0 or more|
00000bb0  20 63 68 61 72 61 63 74  65 72 73 0a 0a 20 20 20  | characters..   |
00000bc0  20 20 20 20 20 20 20 20  20 20 20 3f 20 20 20 20  |           ?    |
00000bd0  20 20 6d 61 74 63 68 65  73 20 65 78 61 63 74 6c  |  matches exactl|
00000be0  79 20 31 20 63 68 61 72  61 63 74 65 72 0a 0a 20  |y 1 character.. |
00000bf0  20 20 20 20 20 20 20 20  20 20 20 20 20 5b 2e 2e  |             [..|
00000c00  2e 5d 20 20 6d 61 74 63  68 65 73 20 20 61 6e 79  |.]  matches  any|
00000c10  20 20 73 69 6e 67 6c 65  20 63 68 61 72 61 63 74  |  single charact|
00000c20  65 72 20 66 6f 75 6e 64  20 69 6e 73 69 64 65 20  |er found inside |
00000c30  74 68 65 20 62 72 61 63  6b 65 74 73 3b 0a 20 20  |the brackets;.  |
00000c40  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000c50  20 20 20 72 61 6e 67 65  73 20 61 72 65 20 73 70  |   ranges are sp|
00000c60  65 63 69 66 69 65 64 20  62 79 20 61 20 62 65 67  |ecified by a beg|
00000c70  69 6e 6e 69 6e 67 20 63  68 61 72 61 63 74 65 72  |inning character|
00000c80  2c 20 61 20 20 68 79 70  68 65 6e 2c 0a 20 20 20  |, a  hyphen,.   |
00000c90  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000ca0  20 20 61 6e 64 20 20 61  6e 20 20 65 6e 64 69 6e  |  and  an  endin|
00000cb0  67 20 20 63 68 61 72 61  63 74 65 72 2e 20 20 49  |g  character.  I|
00000cc0  66 20 61 6e 20 65 78 63  6c 61 6d 61 74 69 6f 6e  |f an exclamation|
00000cd0  20 70 6f 69 6e 74 20 6f  72 20 61 0a 20 20 20 20  | point or a.    |
00000ce0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000cf0  20 63 61 72 65 74 20 28  60 21 27 20 6f 72 20 60  | caret (`!' or `|
00000d00  5e 27 29 20 66 6f 6c 6c  6f 77 73 20 74 68 65 20  |^') follows the |
00000d10  20 6c 65 66 74 20 20 62  72 61 63 6b 65 74 2c 20  | left  bracket, |
00000d20  20 74 68 65 6e 20 20 74  68 65 0a 20 20 20 20 20  | then  the.     |
00000d30  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000d40  72 61 6e 67 65 20 20 6f  66 20 20 63 68 61 72 61  |range  of  chara|
00000d50  63 74 65 72 73 20 77 69  74 68 69 6e 20 74 68 65  |cters within the|
00000d60  20 62 72 61 63 6b 65 74  73 20 69 73 20 63 6f 6d  | brackets is com|
00000d70  70 6c 65 6d 65 6e 74 65  64 0a 20 20 20 20 20 20  |plemented.      |
00000d80  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 28  |               (|
00000d90  74 68 61 74 20 69 73 2c  20 20 61 6e 79 74 68 69  |that is,  anythi|
00000da0  6e 67 20 20 65 78 63 65  70 74 20 20 74 68 65 20  |ng  except  the |
00000db0  20 63 68 61 72 61 63 74  65 72 73 20 20 69 6e 73  | characters  ins|
00000dc0  69 64 65 20 20 74 68 65  0a 20 20 20 20 20 20 20  |ide  the.       |
00000dd0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 62 72  |              br|
00000de0  61 63 6b 65 74 73 20 69  73 20 63 6f 6e 73 69 64  |ackets is consid|
00000df0  65 72 65 64 20 61 20 6d  61 74 63 68 29 2e 0a 0a  |ered a match)...|
00000e00  20 20 20 20 20 20 20 20  20 20 20 20 20 20 28 42  |              (B|
00000e10  65 20 20 73 75 72 65 20  20 74 6f 20 71 75 6f 74  |e  sure  to quot|
00000e20  65 20 61 6e 79 20 63 68  61 72 61 63 74 65 72 20  |e any character |
00000e30  74 68 61 74 20 6d 69 67  68 74 20 6f 74 68 65 72  |that might other|
00000e40  77 69 73 65 20 62 65 20  69 6e 74 65 72 2d 0a 20  |wise be inter-. |
00000e50  20 20 20 20 20 20 20 20  20 20 20 20 20 70 72 65  |             pre|
00000e60  74 65 64 20 6f 72 20 6d  6f 64 69 66 69 65 64 20  |ted or modified |
00000e70  62 79 20 74 68 65 20 6f  70 65 72 61 74 69 6e 67  |by the operating|
00000e80  20 73 79 73 74 65 6d 2c  20 20 70 61 72 74 69 63  | system,  partic|
00000e90  75 6c 61 72 6c 79 20 20  75 6e 64 65 72 0a 20 20  |ularly  under.  |
00000ea0  20 20 20 20 20 20 20 20  20 20 20 20 55 6e 69 78  |            Unix|
00000eb0  20 61 6e 64 20 56 4d 53  2e 29 0a 0a 20 20 20 20  | and VMS.)..    |
00000ec0  20 20 20 5b 2d 78 20 78  66 69 6c 65 28 73 29 5d  |   [-x xfile(s)]|
00000ed0  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 41  |.              A|
00000ee0  6e 20 6f 70 74 69 6f 6e  61 6c 20 6c 69 73 74 20  |n optional list |
00000ef0  6f 66 20 61 72 63 68 69  76 65 20 6d 65 6d 62 65  |of archive membe|
00000f00  72 73 20 74 6f 20 62 65  20 65 78 63 6c 75 64 65  |rs to be exclude|
00000f10  64 20 66 72 6f 6d 20 70  72 6f 63 65 73 73 2d 0a  |d from process-.|
00000f20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 69 6e  |              in|
00000f30  67 2e 20 20 20 53 69 6e  63 65 20 20 77 69 6c 64  |g.   Since  wild|
00000f40  63 61 72 64 20 20 63 68  61 72 61 63 74 65 72 73  |card  characters|
00000f50  20 20 6d 61 74 63 68 20  20 64 69 72 65 63 74 6f  |  match  directo|
00000f60  72 79 20 20 73 65 70 61  72 61 74 6f 72 73 0a 20  |ry  separators. |
00000f70  20 20 20 20 20 20 20 20  20 20 20 20 20 28 60 2f  |             (`/|
00000f80  27 29 2c 20 20 74 68 69  73 20 6f 70 74 69 6f 6e  |'),  this option|
00000f90  20 6d 61 79 20 62 65 20  75 73 65 64 20 74 6f 20  | may be used to |
00000fa0  65 78 63 6c 75 64 65 20  61 6e 79 20 66 69 6c 65  |exclude any file|
00000fb0  73 20 74 68 61 74 20 61  72 65 20 69 6e 0a 20 20  |s that are in.  |
00000fc0  20 20 20 20 20 20 20 20  20 20 20 20 73 75 62 64  |            subd|
00000fd0  69 72 65 63 74 6f 72 69  65 73 2e 20 20 46 6f 72  |irectories.  For|
00000fe0  20 65 78 61 6d 70 6c 65  2c 20 60 60 66 6f 6f 73  | example, ``foos|
00000ff0  66 78 20 20 2a 2e 5b 63  68 5d 20 20 2d 78 20 20  |fx  *.[ch]  -x  |
00001000  2a 2f 2a 27 27 20 20 77  6f 75 6c 64 0a 20 20 20  |*/*''  would.   |
00001010  20 20 20 20 20 20 20 20  20 20 20 65 78 74 72 61  |           extra|
00001020  63 74 20 20 61 6c 6c 20  20 43 20 20 73 6f 75 72  |ct  all  C  sour|
00001030  63 65 20 66 69 6c 65 73  20 69 6e 20 74 68 65 20  |ce files in the |
00001040  6d 61 69 6e 20 64 69 72  65 63 74 6f 72 79 2c 20  |main directory, |
00001050  62 75 74 20 6e 6f 6e 65  20 69 6e 0a 20 20 20 20  |but none in.    |
00001060  20 20 20 20 20 20 20 20  20 20 61 6e 79 20 73 75  |          any su|
00001070  62 64 69 72 65 63 74 6f  72 69 65 73 2e 20 20 57  |bdirectories.  W|
00001080  69 74 68 6f 75 74 20 74  68 65 20 2d 78 20 6f 70  |ithout the -x op|
00001090  74 69 6f 6e 2c 20 61 6c  6c 20 43 20 20 73 6f 75  |tion, all C  sou|
000010a0  72 63 65 20 20 66 69 6c  65 73 0a 20 20 20 20 20  |rce  files.     |
000010b0  20 20 20 20 20 20 20 20  20 69 6e 20 61 6c 6c 20  |         in all |
000010c0  64 69 72 65 63 74 6f 72  69 65 73 20 77 69 74 68  |directories with|
000010d0  69 6e 20 74 68 65 20 7a  69 70 66 69 6c 65 20 77  |in the zipfile w|
000010e0  6f 75 6c 64 20 62 65 20  65 78 74 72 61 63 74 65  |ould be extracte|
000010f0  64 2e 0a 0a 20 20 20 20  20 20 20 49 66 20 75 6e  |d...       If un|
00001100  7a 69 70 73 66 78 20 69  73 20 63 6f 6d 70 69 6c  |zipsfx is compil|
00001110  65 64 20 77 69 74 68 20  53 46 58 5f 45 58 44 49  |ed with SFX_EXDI|
00001120  52 20 64 65 66 69 6e 65  64 2c 20 74 68 65 20 66  |R defined, the f|
00001130  6f 6c 6c 6f 77 69 6e 67  20 6f 70 74 69 6f 6e 20  |ollowing option |
00001140  69 73 0a 20 20 20 20 20  20 20 61 6c 73 6f 20 65  |is.       also e|
00001150  6e 61 62 6c 65 64 3a 0a  0a 20 20 20 20 20 20 20  |nabled:..       |
00001160  5b 2d 64 20 65 78 64 69  72 5d 0a 20 20 20 20 20  |[-d exdir].     |
00001170  20 20 20 20 20 20 20 20  20 41 6e 20 6f 70 74 69  |         An opti|
00001180  6f 6e 61 6c 20 64 69 72  65 63 74 6f 72 79 20 74  |onal directory t|
00001190  6f 20 77 68 69 63 68 20  74 6f 20 65 78 74 72 61  |o which to extra|
000011a0  63 74 20 20 66 69 6c 65  73 2e 20 20 20 42 79 20  |ct  files.   By |
000011b0  20 64 65 66 61 75 6c 74  2c 0a 20 20 20 20 20 20  | default,.      |
000011c0  20 20 20 20 20 20 20 20  61 6c 6c 20 66 69 6c 65  |        all file|
000011d0  73 20 61 6e 64 20 73 75  62 64 69 72 65 63 74 6f  |s and subdirecto|
000011e0  72 69 65 73 20 61 72 65  20 72 65 63 72 65 61 74  |ries are recreat|
000011f0  65 64 20 69 6e 20 74 68  65 20 63 75 72 72 65 6e  |ed in the curren|
00001200  74 20 64 69 72 65 63 2d  0a 20 20 20 20 20 20 20  |t direc-.       |
00001210  20 20 20 20 20 20 20 74  6f 72 79 3b 20 74 68 65  |       tory; the|
00001220  20 2d 64 20 6f 70 74 69  6f 6e 20 61 6c 6c 6f 77  | -d option allow|
00001230  73 20 65 78 74 72 61 63  74 69 6f 6e 20 69 6e 20  |s extraction in |
00001240  61 6e 20 61 72 62 69 74  72 61 72 79 20 20 64 69  |an arbitrary  di|
00001250  72 65 63 74 6f 72 79 0a  20 20 20 20 20 20 20 20  |rectory.        |
00001260  20 20 20 20 20 20 28 61  6c 77 61 79 73 20 20 61  |      (always  a|
00001270  73 73 75 6d 69 6e 67 20  6f 6e 65 20 68 61 73 20  |ssuming one has |
00001280  70 65 72 6d 69 73 73 69  6f 6e 20 74 6f 20 77 72  |permission to wr|
00001290  69 74 65 20 74 6f 20 74  68 65 20 64 69 72 65 63  |ite to the direc|
000012a0  74 6f 72 79 29 2e 0a 20  20 20 20 20 20 20 20 20  |tory)..         |
000012b0  20 20 20 20 20 54 68 65  20 6f 70 74 69 6f 6e 20  |     The option |
000012c0  61 6e 64 20 64 69 72 65  63 74 6f 72 79 20 6d 61  |and directory ma|
000012d0  79 20 62 65 20 63 6f 6e  63 61 74 65 6e 61 74 65  |y be concatenate|
000012e0  64 20 77 69 74 68 6f 75  74 20 20 61 6e 79 20 20  |d without  any  |
000012f0  77 68 69 74 65 0a 20 20  20 20 20 20 20 20 20 20  |white.          |
00001300  20 20 20 20 73 70 61 63  65 20 20 62 65 74 77 65  |    space  betwe|
00001310  65 6e 20 20 74 68 65 6d  2c 20 20 62 75 74 20 6e  |en  them,  but n|
00001320  6f 74 65 20 74 68 61 74  20 74 68 69 73 20 6d 61  |ote that this ma|
00001330  79 20 63 61 75 73 65 20  6e 6f 72 6d 61 6c 20 73  |y cause normal s|
00001340  68 65 6c 6c 0a 20 20 20  20 20 20 20 20 20 20 20  |hell.           |
00001350  20 20 20 62 65 68 61 76  69 6f 72 20 74 6f 20 62  |   behavior to b|
00001360  65 20 73 75 70 70 72 65  73 73 65 64 2e 20 20 49  |e suppressed.  I|
00001370  6e 20 70 61 72 74 69 63  75 6c 61 72 2c 20 60 60  |n particular, ``|
00001380  2d 64 20 7e 27 27 20 20  28 74 69 6c 64 65 29 20  |-d ~''  (tilde) |
00001390  20 69 73 0a 20 20 20 20  20 20 20 20 20 20 20 20  | is.            |
000013a0  20 20 65 78 70 61 6e 64  65 64 20 20 62 79 20 20  |  expanded  by  |
000013b0  55 6e 69 78 20 20 43 20  20 73 68 65 6c 6c 73 20  |Unix  C  shells |
000013c0  20 69 6e 74 6f 20 20 74  68 65 20 6e 61 6d 65 20  | into  the name |
000013d0  6f 66 20 74 68 65 20 75  73 65 72 27 73 20 68 6f  |of the user's ho|
000013e0  6d 65 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  |me.             |
000013f0  20 64 69 72 65 63 74 6f  72 79 2c 20 62 75 74 20  | directory, but |
00001400  60 60 2d 64 7e 27 27 20  69 73 20 20 74 72 65 61  |``-d~'' is  trea|
00001410  74 65 64 20 20 61 73 20  20 61 20 20 6c 69 74 65  |ted  as  a  lite|
00001420  72 61 6c 20 20 73 75 62  64 69 72 65 63 74 6f 72  |ral  subdirector|
00001430  79 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |y.              |
00001440  60 60 7e 27 27 20 6f 66  20 74 68 65 20 63 75 72  |``~'' of the cur|
00001450  72 65 6e 74 20 64 69 72  65 63 74 6f 72 79 2e 0a  |rent directory..|
00001460  0a 4f 50 54 49 4f 4e 53  0a 20 20 20 20 20 20 20  |.OPTIONS.       |
00001470  75 6e 7a 69 70 73 66 78  20 20 73 75 70 70 6f 72  |unzipsfx  suppor|
00001480  74 73 20 74 68 65 20 66  6f 6c 6c 6f 77 69 6e 67  |ts the following|
00001490  20 75 6e 7a 69 70 28 31  4c 29 20 6f 70 74 69 6f  | unzip(1L) optio|
000014a0  6e 73 3a 20 20 2d 63 20  61 6e 64 20 2d 70 20 28  |ns:  -c and -p (|
000014b0  65 78 74 72 61 63 74 0a  20 20 20 20 20 20 20 74  |extract.       t|
000014c0  6f 20 73 74 61 6e 64 61  72 64 20 6f 75 74 70 75  |o standard outpu|
000014d0  74 2f 73 63 72 65 65 6e  29 2c 20 2d 66 20 61 6e  |t/screen), -f an|
000014e0  64 20 20 2d 75 20 20 28  66 72 65 73 68 65 6e 20  |d  -u  (freshen |
000014f0  20 61 6e 64 20 20 75 70  64 61 74 65 20 20 65 78  | and  update  ex|
00001500  69 73 74 69 6e 67 0a 20  20 20 20 20 20 20 66 69  |isting.       fi|
00001510  6c 65 73 20 20 75 70 6f  6e 20 20 65 78 74 72 61  |les  upon  extra|
00001520  63 74 69 6f 6e 29 2c 20  20 2d 74 20 28 74 65 73  |ction),  -t (tes|
00001530  74 20 61 72 63 68 69 76  65 29 20 61 6e 64 20 2d  |t archive) and -|
00001540  7a 20 28 70 72 69 6e 74  20 61 72 63 68 69 76 65  |z (print archive|
00001550  20 63 6f 6d 2d 0a 20 20  20 20 20 20 20 6d 65 6e  | com-.       men|
00001560  74 29 2e 20 20 41 6c 6c  20 6e 6f 72 6d 61 6c 20  |t).  All normal |
00001570  6c 69 73 74 69 6e 67 20  6f 70 74 69 6f 6e 73 20  |listing options |
00001580  28 2d 6c 2c 20 2d 76 20  61 6e 64 20 2d 5a 29 20  |(-l, -v and -Z) |
00001590  68 61 76 65 20 20 62 65  65 6e 20 20 72 65 6d 6f  |have  been  remo|
000015a0  76 65 64 2c 0a 20 20 20  20 20 20 20 62 75 74 20  |ved,.       but |
000015b0  20 74 68 65 20 20 74 65  73 74 69 6e 67 20 20 6f  | the  testing  o|
000015c0  70 74 69 6f 6e 20 28 2d  74 29 20 6d 61 79 20 62  |ption (-t) may b|
000015d0  65 20 75 73 65 64 20 61  73 20 61 20 60 60 70 6f  |e used as a ``po|
000015e0  6f 72 20 6d 61 6e 27 73  27 27 20 6c 69 73 74 69  |or man's'' listi|
000015f0  6e 67 2e 0a 20 20 20 20  20 20 20 41 6c 74 65 72  |ng..       Alter|
00001600  6e 61 74 69 76 65 6c 79  2c 20 74 68 6f 73 65 20  |natively, those |
00001610  63 72 65 61 74 69 6e 67  20 20 73 65 6c 66 2d 65  |creating  self-e|
00001620  78 74 72 61 63 74 69 6e  67 20 20 61 72 63 68 69  |xtracting  archi|
00001630  76 65 73 20 20 6d 61 79  20 20 77 69 73 68 20 20  |ves  may  wish  |
00001640  74 6f 0a 20 20 20 20 20  20 20 69 6e 63 6c 75 64  |to.       includ|
00001650  65 20 61 20 73 68 6f 72  74 20 6c 69 73 74 69 6e  |e a short listin|
00001660  67 20 69 6e 20 74 68 65  20 7a 69 70 66 69 6c 65  |g in the zipfile|
00001670  20 63 6f 6d 6d 65 6e 74  2e 0a 0a 20 20 20 20 20  | comment...     |
00001680  20 20 53 65 65 20 75 6e  7a 69 70 28 31 4c 29 20  |  See unzip(1L) |
00001690  66 6f 72 20 61 20 6d 6f  72 65 20 63 6f 6d 70 6c  |for a more compl|
000016a0  65 74 65 20 64 65 73 63  72 69 70 74 69 6f 6e 20  |ete description |
000016b0  6f 66 20 74 68 65 73 65  20 6f 70 74 69 6f 6e 73  |of these options|
000016c0  2e 0a 0a 4d 4f 44 49 46  49 45 52 53 0a 20 20 20  |...MODIFIERS.   |
000016d0  20 20 20 20 75 6e 7a 69  70 73 66 78 20 20 63 75  |    unzipsfx  cu|
000016e0  72 72 65 6e 74 6c 79 20  73 75 70 70 6f 72 74 73  |rrently supports|
000016f0  20 61 6c 6c 20 75 6e 7a  69 70 28 31 4c 29 20 6d  | all unzip(1L) m|
00001700  6f 64 69 66 69 65 72 73  3a 20 20 2d 61 20 28 63  |odifiers:  -a (c|
00001710  6f 6e 76 65 72 74 20 74  65 78 74 0a 20 20 20 20  |onvert text.    |
00001720  20 20 20 66 69 6c 65 73  29 2c 20 2d 6e 20 28 6e  |   files), -n (n|
00001730  65 76 65 72 20 6f 76 65  72 77 72 69 74 65 29 2c  |ever overwrite),|
00001740  20 20 2d 6f 20 20 28 6f  76 65 72 77 72 69 74 65  |  -o  (overwrite|
00001750  20 20 77 69 74 68 6f 75  74 20 20 70 72 6f 6d 70  |  without  promp|
00001760  74 69 6e 67 29 2c 20 20  2d 71 0a 20 20 20 20 20  |ting),  -q.     |
00001770  20 20 28 6f 70 65 72 61  74 65 20 20 71 75 69 65  |  (operate  quie|
00001780  74 6c 79 29 2c 20 20 2d  43 20 20 28 6d 61 74 63  |tly),  -C  (matc|
00001790  68 20 20 6e 61 6d 65 73  20 63 61 73 65 2d 69 6e  |h  names case-in|
000017a0  73 65 6e 73 69 74 69 76  65 6c 79 29 2c 20 2d 4c  |sensitively), -L|
000017b0  20 28 63 6f 6e 76 65 72  74 0a 20 20 20 20 20 20  | (convert.      |
000017c0  20 75 70 70 65 72 63 61  73 65 2d 4f 53 20 6e 61  | uppercase-OS na|
000017d0  6d 65 73 20 74 6f 20 6c  6f 77 65 72 63 61 73 65  |mes to lowercase|
000017e0  29 2c 20 2d 6a 20 28 6a  75 6e 6b 20 70 61 74 68  |), -j (junk path|
000017f0  73 29 20 61 6e 64 20 2d  56 20 20 28 72 65 74 61  |s) and -V  (reta|
00001800  69 6e 20 20 76 65 72 2d  0a 20 20 20 20 20 20 20  |in  ver-.       |
00001810  73 69 6f 6e 20 20 6e 75  6d 62 65 72 73 29 3b 20  |sion  numbers); |
00001820  20 70 6c 75 73 20 20 74  68 65 20 66 6f 6c 6c 6f  | plus  the follo|
00001830  77 69 6e 67 20 6f 70 65  72 61 74 69 6e 67 2d 73  |wing operating-s|
00001840  79 73 74 65 6d 20 73 70  65 63 69 66 69 63 20 6f  |ystem specific o|
00001850  70 74 69 6f 6e 73 3a 0a  20 20 20 20 20 20 20 2d  |ptions:.       -|
00001860  58 20 28 72 65 73 74 6f  72 65 20 56 4d 53 20 6f  |X (restore VMS o|
00001870  77 6e 65 72 2f 70 72 6f  74 65 63 74 69 6f 6e 20  |wner/protection |
00001880  69 6e 66 6f 29 2c 20 2d  73 20 28 63 6f 6e 76 65  |info), -s (conve|
00001890  72 74 20 73 70 61 63 65  73 20 69 6e 20 66 69 6c  |rt spaces in fil|
000018a0  65 6e 61 6d 65 73 0a 20  20 20 20 20 20 20 74 6f  |enames.       to|
000018b0  20 20 75 6e 64 65 72 73  63 6f 72 65 73 20 20 5b  |  underscores  [|
000018c0  44 4f 53 2c 20 20 4f 53  2f 32 2c 20 20 4e 54 5d  |DOS,  OS/2,  NT]|
000018d0  29 20 20 61 6e 64 20 2d  24 20 28 72 65 73 74 6f  |)  and -$ (resto|
000018e0  72 65 20 76 6f 6c 75 6d  65 20 6c 61 62 65 6c 20  |re volume label |
000018f0  5b 44 4f 53 2c 0a 20 20  20 20 20 20 20 4f 53 2f  |[DOS,.       OS/|
00001900  32 2c 20 4e 54 2c 20 41  6d 69 67 61 5d 29 2e 0a  |2, NT, Amiga])..|
00001910  0a 20 20 20 20 20 20 20  28 53 75 70 70 6f 72 74  |.       (Support|
00001920  20 66 6f 72 20 72 65 67  75 6c 61 72 20 41 53 43  | for regular ASC|
00001930  49 49 20 74 65 78 74 2d  63 6f 6e 76 65 72 73 69  |II text-conversi|
00001940  6f 6e 20 6d 61 79 20 20  62 65 20 20 72 65 6d 6f  |on may  be  remo|
00001950  76 65 64 20 20 69 6e 20  20 66 75 74 75 72 65 0a  |ved  in  future.|
00001960  20 20 20 20 20 20 20 76  65 72 73 69 6f 6e 73 2c  |       versions,|
00001970  20 73 69 6e 63 65 20 69  74 20 69 73 20 73 69 6d  | since it is sim|
00001980  70 6c 65 20 65 6e 6f 75  67 68 20 66 6f 72 20 74  |ple enough for t|
00001990  68 65 20 61 72 63 68 69  76 65 27 73 20 63 72 65  |he archive's cre|
000019a0  61 74 6f 72 20 74 6f 20  65 6e 73 75 72 65 0a 20  |ator to ensure. |
000019b0  20 20 20 20 20 20 74 68  61 74 20 74 65 78 74 20  |      that text |
000019c0  66 69 6c 65 73 20 68 61  76 65 20 74 68 65 20 61  |files have the a|
000019d0  70 70 72 6f 70 72 69 61  74 65 20 66 6f 72 6d 61  |ppropriate forma|
000019e0  74 20 66 6f 72 20 74 68  65 20 6c 6f 63 61 6c 20  |t for the local |
000019f0  20 4f 53 2e 20 20 20 45  42 43 44 49 43 0a 20 20  | OS.   EBCDIC.  |
00001a00  20 20 20 20 20 63 6f 6e  76 65 72 73 69 6f 6e 20  |     conversion |
00001a10  20 77 69 6c 6c 20 20 6f  66 20 20 63 6f 75 72 73  | will  of  cours|
00001a20  65 20 63 6f 6e 74 69 6e  75 65 20 74 6f 20 62 65  |e continue to be|
00001a30  20 73 75 70 70 6f 72 74  65 64 20 73 69 6e 63 65  | supported since|
00001a40  20 74 68 65 20 7a 69 70  66 69 6c 65 0a 20 20 20  | the zipfile.   |
00001a50  20 20 20 20 66 6f 72 6d  61 74 20 69 6d 70 6c 69  |    format impli|
00001a60  65 73 20 41 53 43 49 49  20 73 74 6f 72 61 67 65  |es ASCII storage|
00001a70  20 6f 66 20 74 65 78 74  20 66 69 6c 65 73 2e 29  | of text files.)|
00001a80  0a 0a 20 20 20 20 20 20  20 53 65 65 20 75 6e 7a  |..       See unz|
00001a90  69 70 28 31 4c 29 20 66  6f 72 20 61 20 6d 6f 72  |ip(1L) for a mor|
00001aa0  65 20 63 6f 6d 70 6c 65  74 65 20 64 65 73 63 72  |e complete descr|
00001ab0  69 70 74 69 6f 6e 20 6f  66 20 74 68 65 73 65 20  |iption of these |
00001ac0  6d 6f 64 69 66 69 65 72  73 2e 0a 0a 45 4e 56 49  |modifiers...ENVI|
00001ad0  52 4f 4e 4d 45 4e 54 20  4f 50 54 49 4f 4e 53 0a  |RONMENT OPTIONS.|
00001ae0  20 20 20 20 20 20 20 75  6e 7a 69 70 73 66 78 20  |       unzipsfx |
00001af0  20 75 73 65 73 20 20 74  68 65 20 20 73 61 6d 65  | uses  the  same|
00001b00  20 20 65 6e 76 69 72 6f  6e 6d 65 6e 74 20 20 76  |  environment  v|
00001b10  61 72 69 61 62 6c 65 73  20 20 61 73 20 20 75 6e  |ariables  as  un|
00001b20  7a 69 70 28 31 4c 29 20  20 64 6f 65 73 2c 0a 20  |zip(1L)  does,. |
00001b30  20 20 20 20 20 20 61 6c  74 68 6f 75 67 68 20 74  |      although t|
00001b40  68 69 73 20 69 73 20 6c  69 6b 65 6c 79 20 74 6f  |his is likely to|
00001b50  20 62 65 20 61 6e 20 69  73 73 75 65 20 6f 6e 6c  | be an issue onl|
00001b60  79 20 66 6f 72 20 74 68  65 20 70 65 72 73 6f 6e  |y for the person|
00001b70  20 63 72 65 61 74 69 6e  67 20 61 6e 64 0a 20 20  | creating and.  |
00001b80  20 20 20 20 20 74 65 73  74 69 6e 67 20 74 68 65  |     testing the|
00001b90  20 73 65 6c 66 2d 65 78  74 72 61 63 74 69 6e 67  | self-extracting|
00001ba0  20 61 72 63 68 69 76 65  2e 20 20 53 65 65 20 75  | archive.  See u|
00001bb0  6e 7a 69 70 28 31 4c 29  20 66 6f 72 20 64 65 74  |nzip(1L) for det|
00001bc0  61 69 6c 73 2e 0a 0a 44  45 43 52 59 50 54 49 4f  |ails...DECRYPTIO|
00001bd0  4e 0a 20 20 20 20 20 20  20 44 65 63 72 79 70 74  |N.       Decrypt|
00001be0  69 6f 6e 20 69 73 20 73  75 70 70 6f 72 74 65 64  |ion is supported|
00001bf0  20 65 78 61 63 74 6c 79  20 61 73 20 69 6e 20 75  | exactly as in u|
00001c00  6e 7a 69 70 28 31 4c 29  3b 20 74 68 61 74 20 69  |nzip(1L); that i|
00001c10  73 2c 20 69 6e 74 65 72  61 63 74 69 76 65 6c 79  |s, interactively|
00001c20  0a 20 20 20 20 20 20 20  77 69 74 68 20 20 61 20  |.       with  a |
00001c30  20 6e 6f 6e 2d 65 63 68  6f 69 6e 67 20 20 70 72  | non-echoing  pr|
00001c40  6f 6d 70 74 20 20 66 6f  72 20 20 74 68 65 20 20  |ompt  for  the  |
00001c50  70 61 73 73 77 6f 72 64  28 73 29 2e 20 20 53 65  |password(s).  Se|
00001c60  65 20 75 6e 7a 69 70 28  31 4c 29 20 66 6f 72 0a  |e unzip(1L) for.|
00001c70  20 20 20 20 20 20 20 64  65 74 61 69 6c 73 2e 20  |       details. |
00001c80  20 4f 6e 63 65 20 61 67  61 69 6e 2c 20 6e 6f 74  | Once again, not|
00001c90  65 20 74 68 61 74 20 69  66 20 74 68 65 20 61 72  |e that if the ar|
00001ca0  63 68 69 76 65 20 68 61  73 20 6e 6f 20 20 65 6e  |chive has no  en|
00001cb0  63 72 79 70 74 65 64 20  20 66 69 6c 65 73 0a 20  |crypted  files. |
00001cc0  20 20 20 20 20 20 74 68  65 72 65 20 20 69 73 20  |      there  is |
00001cd0  20 6e 6f 20 20 72 65 61  73 6f 6e 20 74 6f 20 75  | no  reason to u|
00001ce0  73 65 20 61 20 76 65 72  73 69 6f 6e 20 6f 66 20  |se a version of |
00001cf0  75 6e 7a 69 70 73 66 78  20 77 69 74 68 20 64 65  |unzipsfx with de|
00001d00  63 72 79 70 74 69 6f 6e  20 73 75 70 2d 0a 20 20  |cryption sup-.  |
00001d10  20 20 20 20 20 70 6f 72  74 3b 20 74 68 61 74 20  |     port; that |
00001d20  6f 6e 6c 79 20 61 64 64  73 20 74 6f 20 74 68 65  |only adds to the|
00001d30  20 73 69 7a 65 20 6f 66  20 74 68 65 20 61 72 63  | size of the arc|
00001d40  68 69 76 65 2e 0a 0a 41  55 54 4f 52 55 4e 20 43  |hive...AUTORUN C|
00001d50  4f 4d 4d 41 4e 44 0a 20  20 20 20 20 20 20 57 68  |OMMAND.       Wh|
00001d60  65 6e 20 75 6e 7a 69 70  73 66 78 20 77 61 73 20  |en unzipsfx was |
00001d70  63 6f 6d 70 69 6c 65 64  20 77 69 74 68 20 20 43  |compiled with  C|
00001d80  48 45 41 50 5f 53 46 58  5f 41 55 54 4f 52 55 4e  |HEAP_SFX_AUTORUN|
00001d90  20 20 64 65 66 69 6e 65  64 2c 20 20 61 20 20 73  |  defined,  a  s|
00001da0  69 6d 70 6c 65 0a 20 20  20 20 20 20 20 60 60 63  |imple.       ``c|
00001db0  6f 6d 6d 61 6e 64 20 20  61 75 74 6f 72 75 6e 27  |ommand  autorun'|
00001dc0  27 20 66 65 61 74 75 72  65 20 69 73 20 73 75 70  |' feature is sup|
00001dd0  70 6f 72 74 65 64 2e 20  59 6f 75 20 6d 61 79 20  |ported. You may |
00001de0  65 6e 74 65 72 20 61 20  63 6f 6d 6d 61 6e 64 20  |enter a command |
00001df0  69 6e 74 6f 0a 20 20 20  20 20 20 20 74 68 65 20  |into.       the |
00001e00  5a 69 70 20 61 72 63 68  69 76 65 20 63 6f 6d 6d  |Zip archive comm|
00001e10  65 6e 74 2c 20 75 73 69  6e 67 20 74 68 65 20 66  |ent, using the f|
00001e20  6f 6c 6c 6f 77 69 6e 67  20 66 6f 72 6d 61 74 3a  |ollowing format:|
00001e30  0a 0a 20 20 20 20 20 20  20 20 20 20 20 24 41 55  |..           $AU|
00001e40  54 4f 52 55 4e 24 3e 5b  63 6f 6d 6d 61 6e 64 20  |TORUN$>[command |
00001e50  6c 69 6e 65 20 73 74 72  69 6e 67 5d 0a 0a 20 20  |line string]..  |
00001e60  20 20 20 20 20 57 68 65  6e 20 75 6e 7a 69 70 73  |     When unzips|
00001e70  66 78 20 72 65 63 6f 67  6e 69 7a 65 73 20 74 68  |fx recognizes th|
00001e80  65 20 60 60 24 41 55 54  4f 52 55 4e 24 3e 27 27  |e ``$AUTORUN$>''|
00001e90  20 74 6f 6b 65 6e 20 61  74 20 74 68 65 20 20 62  | token at the  b|
00001ea0  65 67 69 6e 6e 69 6e 67  20 20 6f 66 0a 20 20 20  |eginning  of.   |
00001eb0  20 20 20 20 74 68 65 20  5a 69 70 20 61 72 63 68  |    the Zip arch|
00001ec0  69 76 65 20 63 6f 6d 6d  65 6e 74 2c 20 74 68 65  |ive comment, the|
00001ed0  20 72 65 6d 61 69 6e 64  65 72 20 6f 66 20 74 68  | remainder of th|
00001ee0  65 20 66 69 72 73 74 20  6c 69 6e 65 20 6f 66 20  |e first line of |
00001ef0  74 68 65 20 63 6f 6d 6d  65 6e 74 0a 20 20 20 20  |the comment.    |
00001f00  20 20 20 28 75 6e 74 69  6c 20 74 68 65 20 66 69  |   (until the fi|
00001f10  72 73 74 20 6e 65 77 6c  69 6e 65 20 63 68 61 72  |rst newline char|
00001f20  61 63 74 65 72 29 20 69  73 20 70 61 73 73 65 64  |acter) is passed|
00001f30  20 61 73 20 61 20 73 68  65 6c 6c 20 63 6f 6d 6d  | as a shell comm|
00001f40  61 6e 64 20 74 6f 20 74  68 65 0a 20 20 20 20 20  |and to the.     |
00001f50  20 20 6f 70 65 72 61 74  69 6e 67 20 20 73 79 73  |  operating  sys|
00001f60  74 65 6d 20 75 73 69 6e  67 20 74 68 65 20 43 20  |tem using the C |
00001f70  72 74 6c 20 60 60 73 79  73 74 65 6d 27 27 20 66  |rtl ``system'' f|
00001f80  75 6e 63 74 69 6f 6e 2e  20 42 65 66 6f 72 65 20  |unction. Before |
00001f90  65 78 65 63 75 74 69 6e  67 0a 20 20 20 20 20 20  |executing.      |
00001fa0  20 74 68 65 20 63 6f 6d  6d 61 6e 64 2c 20 75 6e  | the command, un|
00001fb0  7a 69 70 73 66 78 20 64  69 73 70 6c 61 79 73 20  |zipsfx displays |
00001fc0  74 68 65 20 63 6f 6d 6d  61 6e 64 20 6f 6e 20 74  |the command on t|
00001fd0  68 65 20 63 6f 6e 73 6f  6c 65 20 20 61 6e 64 20  |he console  and |
00001fe0  20 70 72 6f 6d 70 74 73  0a 20 20 20 20 20 20 20  | prompts.       |
00001ff0  74 68 65 20 75 73 65 72  20 66 6f 72 20 63 6f 6e  |the user for con|
00002000  66 69 72 6d 61 74 69 6f  6e 2e 20 20 57 68 65 6e  |firmation.  When|
00002010  20 74 68 65 20 75 73 65  72 20 68 61 73 20 73 77  | the user has sw|
00002020  69 74 63 68 65 64 20 6f  66 66 20 70 72 6f 6d 70  |itched off promp|
00002030  74 69 6e 67 20 62 79 0a  20 20 20 20 20 20 20 73  |ting by.       s|
00002040  70 65 63 69 66 79 69 6e  67 20 74 68 65 20 2d 71  |pecifying the -q|
00002050  20 6f 70 74 69 6f 6e 2c  20 61 75 74 6f 72 75 6e  | option, autorun|
00002060  20 63 6f 6d 6d 61 6e 64  73 20 61 72 65 20 6e 65  | commands are ne|
00002070  76 65 72 20 65 78 65 63  75 74 65 64 2e 0a 0a 20  |ver executed... |
00002080  20 20 20 20 20 20 49 6e  20 63 61 73 65 20 74 68  |      In case th|
00002090  65 20 61 72 63 68 69 76  65 20 63 6f 6d 6d 65 6e  |e archive commen|
000020a0  74 20 63 6f 6e 74 61 69  6e 73 20 20 61 64 64 69  |t contains  addi|
000020b0  74 69 6f 6e 61 6c 20 20  6c 69 6e 65 73 20 20 6f  |tional  lines  o|
000020c0  66 20 20 74 65 78 74 2c  20 20 74 68 65 0a 20 20  |f  text,  the.  |
000020d0  20 20 20 20 20 72 65 6d  61 69 6e 64 65 72 20 20  |     remainder  |
000020e0  6f 66 20 74 68 65 20 61  72 63 68 69 76 65 20 63  |of the archive c|
000020f0  6f 6d 6d 65 6e 74 20 66  6f 6c 6c 6f 77 69 6e 67  |omment following|
00002100  20 74 68 65 20 66 69 72  73 74 20 6c 69 6e 65 20  | the first line |
00002110  69 73 20 64 69 73 70 6c  61 79 65 64 0a 20 20 20  |is displayed.   |
00002120  20 20 20 20 6e 6f 72 6d  61 6c 6c 79 2c 20 75 6e  |    normally, un|
00002130  6c 65 73 73 20 71 75 69  65 74 20 20 6f 70 65 72  |less quiet  oper|
00002140  61 74 69 6f 6e 20 20 77  61 73 20 20 72 65 71 75  |ation  was  requ|
00002150  65 73 74 65 64 20 20 62  79 20 20 73 75 70 70 6c  |ested  by  suppl|
00002160  79 69 6e 67 20 20 61 20  20 2d 71 0a 20 20 20 20  |ying  a  -q.    |
00002170  20 20 20 6f 70 74 69 6f  6e 2e 0a 0a 45 58 41 4d  |   option...EXAM|
00002180  50 4c 45 53 0a 20 20 20  20 20 20 20 54 6f 20 63  |PLES.       To c|
00002190  72 65 61 74 65 20 61 20  73 65 6c 66 2d 65 78 74  |reate a self-ext|
000021a0  72 61 63 74 69 6e 67 20  61 72 63 68 69 76 65 20  |racting archive |
000021b0  6c 65 74 74 65 72 73 20  66 72 6f 6d 20 61 20 72  |letters from a r|
000021c0  65 67 75 6c 61 72 20 7a  69 70 66 69 6c 65 20 6c  |egular zipfile l|
000021d0  65 74 2d 0a 20 20 20 20  20 20 20 74 65 72 73 2e  |et-.       ters.|
000021e0  7a 69 70 20 61 6e 64 20  63 68 61 6e 67 65 20 74  |zip and change t|
000021f0  68 65 20 6e 65 77 20 20  61 72 63 68 69 76 65 27  |he new  archive'|
00002200  73 20 20 70 65 72 6d 69  73 73 69 6f 6e 73 20 20  |s  permissions  |
00002210  74 6f 20 20 62 65 20 20  77 6f 72 6c 64 2d 65 78  |to  be  world-ex|
00002220  65 2d 0a 20 20 20 20 20  20 20 63 75 74 61 62 6c  |e-.       cutabl|
00002230  65 20 75 6e 64 65 72 20  55 6e 69 78 3a 0a 0a 20  |e under Unix:.. |
00002240  20 20 20 20 20 20 20 20  20 20 63 61 74 20 75 6e  |          cat un|
00002250  7a 69 70 73 66 78 20 6c  65 74 74 65 72 73 2e 7a  |zipsfx letters.z|
00002260  69 70 20 3e 20 6c 65 74  74 65 72 73 0a 20 20 20  |ip > letters.   |
00002270  20 20 20 20 20 20 20 20  63 68 6d 6f 64 20 37 35  |        chmod 75|
00002280  35 20 6c 65 74 74 65 72  73 0a 20 20 20 20 20 20  |5 letters.      |
00002290  20 20 20 20 20 7a 69 70  20 2d 41 20 6c 65 74 74  |     zip -A lett|
000022a0  65 72 73 0a 0a 20 20 20  20 20 20 20 54 6f 20 20  |ers..       To  |
000022b0  63 72 65 61 74 65 20 20  74 68 65 20 20 73 61 6d  |create  the  sam|
000022c0  65 20 61 72 63 68 69 76  65 20 75 6e 64 65 72 20  |e archive under |
000022d0  4d 53 2d 44 4f 53 2c 20  4f 53 2f 32 20 6f 72 20  |MS-DOS, OS/2 or |
000022e0  4e 54 20 28 6e 6f 74 65  20 74 68 65 20 75 73 65  |NT (note the use|
000022f0  20 6f 66 0a 20 20 20 20  20 20 20 74 68 65 20 2f  | of.       the /|
00002300  62 20 5b 62 69 6e 61 72  79 5d 20 6f 70 74 69 6f  |b [binary] optio|
00002310  6e 20 74 6f 20 74 68 65  20 63 6f 70 79 20 63 6f  |n to the copy co|
00002320  6d 6d 61 6e 64 29 3a 0a  0a 20 20 20 20 20 20 20  |mmand):..       |
00002330  20 20 20 20 63 6f 70 79  20 2f 62 20 75 6e 7a 69  |    copy /b unzi|
00002340  70 73 66 78 2e 65 78 65  2b 6c 65 74 74 65 72 73  |psfx.exe+letters|
00002350  2e 7a 69 70 20 6c 65 74  74 65 72 73 2e 65 78 65  |.zip letters.exe|
00002360  0a 20 20 20 20 20 20 20  20 20 20 20 7a 69 70 20  |.           zip |
00002370  2d 41 20 6c 65 74 74 65  72 73 2e 65 78 65 0a 0a  |-A letters.exe..|
00002380  20 20 20 20 20 20 20 55  6e 64 65 72 20 56 4d 53  |       Under VMS|
00002390  3a 0a 0a 20 20 20 20 20  20 20 20 20 20 20 63 6f  |:..           co|
000023a0  70 79 20 75 6e 7a 69 70  73 66 78 2e 65 78 65 2c  |py unzipsfx.exe,|
000023b0  6c 65 74 74 65 72 73 2e  7a 69 70 20 6c 65 74 74  |letters.zip lett|
000023c0  65 72 73 2e 65 78 65 0a  20 20 20 20 20 20 20 20  |ers.exe.        |
000023d0  20 20 20 6c 65 74 74 65  72 73 20 3d 3d 20 22 24  |   letters == "$|
000023e0  63 75 72 72 65 6e 74 64  69 73 6b 3a 5b 63 75 72  |currentdisk:[cur|
000023f0  72 65 6e 74 64 69 72 5d  6c 65 74 74 65 72 73 2e  |rentdir]letters.|
00002400  65 78 65 22 0a 20 20 20  20 20 20 20 20 20 20 20  |exe".           |
00002410  7a 69 70 20 2d 41 20 6c  65 74 74 65 72 73 2e 65  |zip -A letters.e|
00002420  78 65 0a 0a 20 20 20 20  20 20 20 28 54 68 65 20  |xe..       (The |
00002430  56 4d 53 20 61 70 70 65  6e 64 20 63 6f 6d 6d 61  |VMS append comma|
00002440  6e 64 20 6d 61 79 20 61  6c 73 6f 20 62 65 20 75  |nd may also be u|
00002450  73 65 64 2e 20 20 54 68  65 20 73 65 63 6f 6e 64  |sed.  The second|
00002460  20 63 6f 6d 6d 61 6e 64  20 20 69 6e 73 74 61 6c  | command  instal|
00002470  6c 73 0a 20 20 20 20 20  20 20 74 68 65 20 20 6e  |ls.       the  n|
00002480  65 77 20 20 70 72 6f 67  72 61 6d 20 61 73 20 61  |ew  program as a|
00002490  20 60 60 66 6f 72 65 69  67 6e 20 63 6f 6d 6d 61  | ``foreign comma|
000024a0  6e 64 27 27 20 63 61 70  61 62 6c 65 20 6f 66 20  |nd'' capable of |
000024b0  74 61 6b 69 6e 67 20 61  72 67 75 6d 65 6e 74 73  |taking arguments|
000024c0  2e 0a 20 20 20 20 20 20  20 54 68 65 20 74 68 69  |..       The thi|
000024d0  72 64 20 6c 69 6e 65 20  61 73 73 75 6d 65 73 20  |rd line assumes |
000024e0  74 68 61 74 20 5a 69 70  20 69 73 20 61 6c 72 65  |that Zip is alre|
000024f0  61 64 79 20 69 6e 73 74  61 6c 6c 65 64 20 61 73  |ady installed as|
00002500  20 61 20 66 6f 72 65 69  67 6e 20 20 63 6f 6d 2d  | a foreign  com-|
00002510  0a 20 20 20 20 20 20 20  6d 61 6e 64 2e 29 20 20  |.       mand.)  |
00002520  55 6e 64 65 72 20 41 6d  69 67 61 44 4f 53 3a 0a  |Under AmigaDOS:.|
00002530  0a 20 20 20 20 20 20 20  20 20 20 20 4d 61 6b 65  |.           Make|
00002540  53 46 58 20 6c 65 74 74  65 72 73 20 6c 65 74 74  |SFX letters lett|
00002550  65 72 73 2e 7a 69 70 20  55 6e 5a 69 70 53 46 58  |ers.zip UnZipSFX|
00002560  0a 0a 20 20 20 20 20 20  20 28 4d 61 6b 65 53 46  |..       (MakeSF|
00002570  58 20 20 69 73 20 69 6e  63 6c 75 64 65 64 20 77  |X  is included w|
00002580  69 74 68 20 74 68 65 20  55 6e 5a 69 70 20 73 6f  |ith the UnZip so|
00002590  75 72 63 65 20 64 69 73  74 72 69 62 75 74 69 6f  |urce distributio|
000025a0  6e 20 61 6e 64 20 77 69  74 68 20 41 6d 69 67 61  |n and with Amiga|
000025b0  0a 20 20 20 20 20 20 20  62 69 6e 61 72 79 20 64  |.       binary d|
000025c0  69 73 74 72 69 62 75 74  69 6f 6e 73 2e 20 20 60  |istributions.  `|
000025d0  60 7a 69 70 20 2d 41 27  27 20 64 6f 65 73 6e 27  |`zip -A'' doesn'|
000025e0  74 20 77 6f 72 6b 20 6f  6e 20 41 6d 69 67 61 20  |t work on Amiga |
000025f0  73 65 6c 66 2d 65 78 74  72 61 63 74 69 6e 67 0a  |self-extracting.|
00002600  20 20 20 20 20 20 20 61  72 63 68 69 76 65 73 2e  |       archives.|
00002610  29 20 20 20 54 6f 20 20  74 65 73 74 20 20 28 6f  |)   To  test  (o|
00002620  72 20 20 6c 69 73 74 29  20 20 74 68 65 20 20 6e  |r  list)  the  n|
00002630  65 77 6c 79 20 20 63 72  65 61 74 65 64 20 20 73  |ewly  created  s|
00002640  65 6c 66 2d 65 78 74 72  61 63 74 69 6e 67 0a 20  |elf-extracting. |
00002650  20 20 20 20 20 20 61 72  63 68 69 76 65 3a 0a 0a  |      archive:..|
00002660  20 20 20 20 20 20 20 20  20 20 20 6c 65 74 74 65  |           lette|
00002670  72 73 20 2d 74 0a 0a 20  20 20 20 20 20 20 54 6f  |rs -t..       To|
00002680  20 74 65 73 74 20 6c 65  74 74 65 72 73 20 71 75  | test letters qu|
00002690  69 65 74 6c 79 2c 20 70  72 69 6e 74 69 6e 67 20  |ietly, printing |
000026a0  6f 6e 6c 79 20 20 61 20  20 73 75 6d 6d 61 72 79  |only  a  summary|
000026b0  20 20 6d 65 73 73 61 67  65 20 20 69 6e 64 69 63  |  message  indic|
000026c0  61 74 69 6e 67 0a 20 20  20 20 20 20 20 77 68 65  |ating.       whe|
000026d0  74 68 65 72 20 74 68 65  20 61 72 63 68 69 76 65  |ther the archive|
000026e0  20 69 73 20 4f 4b 20 6f  72 20 6e 6f 74 3a 0a 0a  | is OK or not:..|
000026f0  20 20 20 20 20 20 20 20  20 20 20 6c 65 74 74 65  |           lette|
00002700  72 73 20 2d 74 71 71 0a  0a 20 20 20 20 20 20 20  |rs -tqq..       |
00002710  54 6f 20 65 78 74 72 61  63 74 20 74 68 65 20 63  |To extract the c|
00002720  6f 6d 70 6c 65 74 65 20  63 6f 6e 74 65 6e 74 73  |omplete contents|
00002730  20 69 6e 74 6f 20 74 68  65 20 63 75 72 72 65 6e  | into the curren|
00002740  74 20 64 69 72 65 63 74  6f 72 79 2c 20 72 65 63  |t directory, rec|
00002750  72 65 61 74 69 6e 67 0a  20 20 20 20 20 20 20 61  |reating.       a|
00002760  6c 6c 20 66 69 6c 65 73  20 61 6e 64 20 73 75 62  |ll files and sub|
00002770  64 69 72 65 63 74 6f 72  69 65 73 20 61 73 20 6e  |directories as n|
00002780  65 63 65 73 73 61 72 79  3a 0a 0a 20 20 20 20 20  |ecessary:..     |
00002790  20 20 20 20 20 20 6c 65  74 74 65 72 73 0a 0a 20  |      letters.. |
000027a0  20 20 20 20 20 20 54 6f  20 65 78 74 72 61 63 74  |      To extract|
000027b0  20 61 6c 6c 20 2a 2e 74  78 74 20 66 69 6c 65 73  | all *.txt files|
000027c0  20 28 69 6e 20 55 6e 69  78 20 71 75 6f 74 65 20  | (in Unix quote |
000027d0  74 68 65 20 60 2a 27 29  3a 0a 0a 20 20 20 20 20  |the `*'):..     |
000027e0  20 20 20 20 20 20 6c 65  74 74 65 72 73 20 2a 2e  |      letters *.|
000027f0  74 78 74 0a 0a 20 20 20  20 20 20 20 54 6f 20 65  |txt..       To e|
00002800  78 74 72 61 63 74 20 65  76 65 72 79 74 68 69 6e  |xtract everythin|
00002810  67 20 65 78 63 65 70 74  20 74 68 65 20 2a 2e 74  |g except the *.t|
00002820  78 74 20 66 69 6c 65 73  3a 0a 0a 20 20 20 20 20  |xt files:..     |
00002830  20 20 20 20 20 20 6c 65  74 74 65 72 73 20 2d 78  |      letters -x|
00002840  20 2a 2e 74 78 74 0a 0a  20 20 20 20 20 20 20 54  | *.txt..       T|
00002850  6f 20 65 78 74 72 61 63  74 20 6f 6e 6c 79 20 74  |o extract only t|
00002860  68 65 20 52 45 41 44 4d  45 20 66 69 6c 65 20 74  |he README file t|
00002870  6f 20 73 74 61 6e 64 61  72 64 20 6f 75 74 70 75  |o standard outpu|
00002880  74 20 28 74 68 65 20 73  63 72 65 65 6e 29 3a 0a  |t (the screen):.|
00002890  0a 20 20 20 20 20 20 20  20 20 20 20 6c 65 74 74  |.           lett|
000028a0  65 72 73 20 2d 63 20 52  45 41 44 4d 45 0a 0a 20  |ers -c README.. |
000028b0  20 20 20 20 20 20 54 6f  20 70 72 69 6e 74 20 6f  |      To print o|
000028c0  6e 6c 79 20 74 68 65 20  7a 69 70 66 69 6c 65 20  |nly the zipfile |
000028d0  63 6f 6d 6d 65 6e 74 3a  0a 0a 20 20 20 20 20 20  |comment:..      |
000028e0  20 20 20 20 20 6c 65 74  74 65 72 73 20 2d 7a 0a  |     letters -z.|
000028f0  0a 4c 49 4d 49 54 41 54  49 4f 4e 53 0a 20 20 20  |.LIMITATIONS.   |
00002900  20 20 20 20 54 68 65 20  70 72 69 6e 63 69 70 6c  |    The principl|
00002910  65 20 61 6e 64 20 66 75  6e 64 61 6d 65 6e 74 61  |e and fundamenta|
00002920  6c 20 6c 69 6d 69 74 61  74 69 6f 6e 20 6f 66 20  |l limitation of |
00002930  75 6e 7a 69 70 73 66 78  20 69 73 20 74 68 61 74  |unzipsfx is that|
00002940  20 69 74 20 69 73 20 20  6e 6f 74 0a 20 20 20 20  | it is  not.    |
00002950  20 20 20 70 6f 72 74 61  62 6c 65 20 20 61 63 72  |   portable  acr|
00002960  6f 73 73 20 61 72 63 68  69 74 65 63 74 75 72 65  |oss architecture|
00002970  73 20 6f 72 20 6f 70 65  72 61 74 69 6e 67 20 73  |s or operating s|
00002980  79 73 74 65 6d 73 2c 20  61 6e 64 20 74 68 65 72  |ystems, and ther|
00002990  65 66 6f 72 65 20 6e 65  69 2d 0a 20 20 20 20 20  |efore nei-.     |
000029a0  20 20 74 68 65 72 20 61  72 65 20 74 68 65 20 72  |  ther are the r|
000029b0  65 73 75 6c 74 69 6e 67  20 61 72 63 68 69 76 65  |esulting archive|
000029c0  73 2e 20 20 46 6f 72 20  73 6f 6d 65 20 61 72 63  |s.  For some arc|
000029d0  68 69 74 65 63 74 75 72  65 73 20 74 68 65 72 65  |hitectures there|
000029e0  20 69 73 20 20 6c 69 6d  2d 0a 20 20 20 20 20 20  | is  lim-.      |
000029f0  20 69 74 65 64 20 20 70  6f 72 74 61 62 69 6c 69  | ited  portabili|
00002a00  74 79 2c 20 20 68 6f 77  65 76 65 72 20 20 28 65  |ty,  however  (e|
00002a10  2e 67 2e 2c 20 62 65 74  77 65 65 6e 20 73 6f 6d  |.g., between som|
00002a20  65 20 66 6c 61 76 6f 72  73 20 6f 66 20 49 6e 74  |e flavors of Int|
00002a30  65 6c 2d 62 61 73 65 64  0a 20 20 20 20 20 20 20  |el-based.       |
00002a40  55 6e 69 78 29 2e 0a 0a  20 20 20 20 20 20 20 41  |Unix)...       A|
00002a50  6e 6f 74 68 65 72 20 70  72 6f 62 6c 65 6d 20 77  |nother problem w|
00002a60  69 74 68 20 74 68 65 20  63 75 72 72 65 6e 74 20  |ith the current |
00002a70  69 6d 70 6c 65 6d 65 6e  74 61 74 69 6f 6e 20 20  |implementation  |
00002a80  69 73 20 20 74 68 61 74  20 20 61 6e 79 20 20 61  |is  that  any  a|
00002a90  72 63 68 69 76 65 0a 20  20 20 20 20 20 20 77 69  |rchive.       wi|
00002aa0  74 68 20 20 60 60 6a 75  6e 6b 27 27 20 20 70 72  |th  ``junk''  pr|
00002ab0  65 70 65 6e 64 65 64 20  20 74 6f 20 20 74 68 65  |epended  to  the|
00002ac0  20 62 65 67 69 6e 6e 69  6e 67 20 74 65 63 68 6e  | beginning techn|
00002ad0  69 63 61 6c 6c 79 20 69  73 20 6e 6f 20 6c 6f 6e  |ically is no lon|
00002ae0  67 65 72 20 61 0a 20 20  20 20 20 20 20 7a 69 70  |ger a.       zip|
00002af0  66 69 6c 65 20 28 75 6e  6c 65 73 73 20 7a 69 70  |file (unless zip|
00002b00  28 31 29 20 69 73 20 75  73 65 64 20 74 6f 20 61  |(1) is used to a|
00002b10  64 6a 75 73 74 20 74 68  65 20 7a 69 70 66 69 6c  |djust the zipfil|
00002b20  65 20 6f 66 66 73 65 74  73 20 20 61 70 70 72 6f  |e offsets  appro|
00002b30  70 72 69 2d 0a 20 20 20  20 20 20 20 61 74 65 6c  |pri-.       atel|
00002b40  79 2c 20 61 73 20 6e 6f  74 65 64 20 61 62 6f 76  |y, as noted abov|
00002b50  65 29 2e 20 20 75 6e 7a  69 70 28 31 29 20 74 61  |e).  unzip(1) ta|
00002b60  6b 65 73 20 6e 6f 74 65  20 6f 66 20 74 68 65 20  |kes note of the |
00002b70  70 72 65 70 65 6e 64 65  64 20 62 79 74 65 73 20  |prepended bytes |
00002b80  61 6e 64 0a 20 20 20 20  20 20 20 69 67 6e 6f 72  |and.       ignor|
00002b90  65 73 20 74 68 65 6d 20  73 69 6e 63 65 20 73 6f  |es them since so|
00002ba0  6d 65 20 66 69 6c 65 2d  74 72 61 6e 73 66 65 72  |me file-transfer|
00002bb0  20 70 72 6f 74 6f 63 6f  6c 73 2c 20 6e 6f 74 61  | protocols, nota|
00002bc0  62 6c 79 20 4d 61 63 42  69 6e 61 72 79 2c 20 61  |bly MacBinary, a|
00002bd0  72 65 0a 20 20 20 20 20  20 20 61 6c 73 6f 20 20  |re.       also  |
00002be0  6b 6e 6f 77 6e 20 20 74  6f 20 20 70 72 65 70 65  |known  to  prepe|
00002bf0  6e 64 20 20 6a 75 6e 6b  2e 20 20 42 75 74 20 50  |nd  junk.  But P|
00002c00  4b 57 41 52 45 27 73 20  61 72 63 68 69 76 65 72  |KWARE's archiver|
00002c10  20 73 75 69 74 65 20 6d  61 79 20 6e 6f 74 20 62  | suite may not b|
00002c20  65 0a 20 20 20 20 20 20  20 61 62 6c 65 20 74 6f  |e.       able to|
00002c30  20 64 65 61 6c 20 77 69  74 68 20 74 68 65 20 6d  | deal with the m|
00002c40  6f 64 69 66 69 65 64 20  61 72 63 68 69 76 65 20  |odified archive |
00002c50  75 6e 6c 65 73 73 20 20  69 74 73 20 20 6f 66 66  |unless  its  off|
00002c60  73 65 74 73 20 20 68 61  76 65 20 20 62 65 65 6e  |sets  have  been|
00002c70  0a 20 20 20 20 20 20 20  61 64 6a 75 73 74 65 64  |.       adjusted|
00002c80  2e 0a 0a 20 20 20 20 20  20 20 75 6e 7a 69 70 73  |...       unzips|
00002c90  66 78 20 20 68 61 73 20  6e 6f 20 6b 6e 6f 77 6c  |fx  has no knowl|
00002ca0  65 64 67 65 20 6f 66 20  74 68 65 20 75 73 65 72  |edge of the user|
00002cb0  27 73 20 50 41 54 48 2c  20 73 6f 20 69 6e 20 67  |'s PATH, so in g|
00002cc0  65 6e 65 72 61 6c 20 61  6e 20 61 72 63 68 69 76  |eneral an archiv|
00002cd0  65 0a 20 20 20 20 20 20  20 6d 75 73 74 20 65 69  |e.       must ei|
00002ce0  74 68 65 72 20 62 65 20  69 6e 20 74 68 65 20 63  |ther be in the c|
00002cf0  75 72 72 65 6e 74 20 64  69 72 65 63 74 6f 72 79  |urrent directory|
00002d00  20 77 68 65 6e 20 69 74  20 69 73 20 69 6e 76 6f  | when it is invo|
00002d10  6b 65 64 2c 20 6f 72 20  20 65 6c 73 65 20 20 61  |ked, or  else  a|
00002d20  0a 20 20 20 20 20 20 20  66 75 6c 6c 20 6f 72 20  |.       full or |
00002d30  72 65 6c 61 74 69 76 65  20 70 61 74 68 20 6d 75  |relative path mu|
00002d40  73 74 20 62 65 20 67 69  76 65 6e 2e 20 20 49 66  |st be given.  If|
00002d50  20 61 20 75 73 65 72 20  61 74 74 65 6d 70 74 73  | a user attempts|
00002d60  20 74 6f 20 65 78 74 72  61 63 74 20 74 68 65 0a  | to extract the.|
00002d70  20 20 20 20 20 20 20 61  72 63 68 69 76 65 20 66  |       archive f|
00002d80  72 6f 6d 20 61 20 64 69  72 65 63 74 6f 72 79 20  |rom a directory |
00002d90  69 6e 20 20 74 68 65 20  20 50 41 54 48 20 20 6f  |in  the  PATH  o|
00002da0  74 68 65 72 20 20 74 68  61 6e 20 20 74 68 65 20  |ther  than  the |
00002db0  20 63 75 72 72 65 6e 74  20 20 6f 6e 65 2c 0a 20  | current  one,. |
00002dc0  20 20 20 20 20 20 75 6e  7a 69 70 73 66 78 20 20  |      unzipsfx  |
00002dd0  77 69 6c 6c 20 20 70 72  69 6e 74 20 20 61 20 20  |will  print  a  |
00002de0  77 61 72 6e 69 6e 67 20  74 6f 20 74 68 65 20 65  |warning to the e|
00002df0  66 66 65 63 74 2c 20 60  60 63 61 6e 27 74 20 66  |ffect, ``can't f|
00002e00  69 6e 64 20 6d 79 73 65  6c 66 2e 27 27 0a 20 20  |ind myself.''.  |
00002e10  20 20 20 20 20 54 68 69  73 20 69 73 20 61 6c 77  |     This is alw|
00002e20  61 79 73 20 74 72 75 65  20 75 6e 64 65 72 20 55  |ays true under U|
00002e30  6e 69 78 20 61 6e 64 20  6d 61 79 20 62 65 20 74  |nix and may be t|
00002e40  72 75 65 20 69 6e 20 73  6f 6d 65 20 63 61 73 65  |rue in some case|
00002e50  73 20 75 6e 64 65 72 20  20 4d 53 2d 0a 20 20 20  |s under  MS-.   |
00002e60  20 20 20 20 44 4f 53 2c  20 20 64 65 70 65 6e 64  |    DOS,  depend|
00002e70  69 6e 67 20 20 6f 6e 20  20 74 68 65 20 63 6f 6d  |ing  on  the com|
00002e80  70 69 6c 65 72 20 75 73  65 64 20 28 4d 69 63 72  |piler used (Micr|
00002e90  6f 73 6f 66 74 20 43 20  66 75 6c 6c 79 20 71 75  |osoft C fully qu|
00002ea0  61 6c 69 66 69 65 73 20  74 68 65 0a 20 20 20 20  |alifies the.    |
00002eb0  20 20 20 70 72 6f 67 72  61 6d 20 6e 61 6d 65 2c  |   program name,|
00002ec0  20 62 75 74 20 6f 74 68  65 72 20 63 6f 6d 70 69  | but other compi|
00002ed0  6c 65 72 73 20 6d 61 79  20 6e 6f 74 29 2e 20 20  |lers may not).  |
00002ee0  55 6e 64 65 72 20 4f 53  2f 32 20 20 61 6e 64 20  |Under OS/2  and |
00002ef0  20 4e 54 20 20 74 68 65  72 65 0a 20 20 20 20 20  | NT  there.     |
00002f00  20 20 61 72 65 20 20 6f  70 65 72 61 74 69 6e 67  |  are  operating|
00002f10  2d 73 79 73 74 65 6d 20  20 63 61 6c 6c 73 20 61  |-system  calls a|
00002f20  76 61 69 6c 61 62 6c 65  20 74 68 61 74 20 70 72  |vailable that pr|
00002f30  6f 76 69 64 65 20 74 68  65 20 66 75 6c 6c 20 70  |ovide the full p|
00002f40  61 74 68 20 6e 61 6d 65  2c 0a 20 20 20 20 20 20  |ath name,.      |
00002f50  20 73 6f 20 74 68 65 20  61 72 63 68 69 76 65 20  | so the archive |
00002f60  6d 61 79 20 62 65 20 69  6e 76 6f 6b 65 64 20 66  |may be invoked f|
00002f70  72 6f 6d 20 61 6e 79 77  68 65 72 65 20 69 6e 20  |rom anywhere in |
00002f80  74 68 65 20 20 75 73 65  72 27 73 20 20 70 61 74  |the  user's  pat|
00002f90  68 2e 20 20 20 54 68 65  0a 20 20 20 20 20 20 20  |h.   The.       |
00002fa0  73 69 74 75 61 74 69 6f  6e 20 69 73 20 6e 6f 74  |situation is not|
00002fb0  20 6b 6e 6f 77 6e 20 66  6f 72 20 41 6d 69 67 61  | known for Amiga|
00002fc0  44 4f 53 2c 20 41 74 61  72 69 20 54 4f 53 2c 20  |DOS, Atari TOS, |
00002fd0  4d 61 63 4f 53 2c 20 65  74 63 2e 0a 0a 20 20 20  |MacOS, etc...   |
00002fe0  20 20 20 20 41 73 20 20  6e 6f 74 65 64 20 20 61  |    As  noted  a|
00002ff0  62 6f 76 65 2c 20 20 61  20 6e 75 6d 62 65 72 20  |bove,  a number |
00003000  6f 66 20 74 68 65 20 6e  6f 72 6d 61 6c 20 75 6e  |of the normal un|
00003010  7a 69 70 28 31 4c 29 20  66 75 6e 63 74 69 6f 6e  |zip(1L) function|
00003020  73 20 68 61 76 65 20 62  65 65 6e 0a 20 20 20 20  |s have been.    |
00003030  20 20 20 72 65 6d 6f 76  65 64 20 69 6e 20 6f 72  |   removed in or|
00003040  64 65 72 20 74 6f 20 6d  61 6b 65 20 75 6e 7a 69  |der to make unzi|
00003050  70 73 66 78 20 73 6d 61  6c 6c 65 72 3a 20 20 75  |psfx smaller:  u|
00003060  73 61 67 65 20 61 6e 64  20 64 69 61 67 6e 6f 73  |sage and diagnos|
00003070  74 69 63 20 20 69 6e 66  6f 2c 0a 20 20 20 20 20  |tic  info,.     |
00003080  20 20 6c 69 73 74 69 6e  67 20 20 66 75 6e 63 74  |  listing  funct|
00003090  69 6f 6e 73 20 20 61 6e  64 20 20 65 78 74 72 61  |ions  and  extra|
000030a0  63 74 69 6f 6e 20 20 74  6f 20 20 6f 74 68 65 72  |ction  to  other|
000030b0  20 64 69 72 65 63 74 6f  72 69 65 73 2e 20 20 41  | directories.  A|
000030c0  6c 73 6f 2c 20 6f 6e 6c  79 0a 20 20 20 20 20 20  |lso, only.      |
000030d0  20 73 74 6f 72 65 64 20  61 6e 64 20 64 65 66 6c  | stored and defl|
000030e0  61 74 65 64 20 66 69 6c  65 73 20 61 72 65 20 20  |ated files are  |
000030f0  73 75 70 70 6f 72 74 65  64 2e 20 20 20 54 68 65  |supported.   The|
00003100  20 20 6c 61 74 74 65 72  20 20 6c 69 6d 69 74 61  |  latter  limita|
00003110  74 69 6f 6e 20 20 69 73  0a 20 20 20 20 20 20 20  |tion  is.       |
00003120  6d 61 69 6e 6c 79 20 72  65 6c 65 76 61 6e 74 20  |mainly relevant |
00003130  74 6f 20 74 68 6f 73 65  20 77 68 6f 20 63 72 65  |to those who cre|
00003140  61 74 65 20 53 46 58 20  61 72 63 68 69 76 65 73  |ate SFX archives|
00003150  2c 20 68 6f 77 65 76 65  72 2e 0a 0a 20 20 20 20  |, however...    |
00003160  20 20 20 56 4d 53 20 20  75 73 65 72 73 20 20 6d  |   VMS  users  m|
00003170  75 73 74 20 6b 6e 6f 77  20 68 6f 77 20 74 6f 20  |ust know how to |
00003180  73 65 74 20 75 70 20 73  65 6c 66 2d 65 78 74 72  |set up self-extr|
00003190  61 63 74 69 6e 67 20 61  72 63 68 69 76 65 73 20  |acting archives |
000031a0  61 73 20 66 6f 72 65 69  67 6e 0a 20 20 20 20 20  |as foreign.     |
000031b0  20 20 63 6f 6d 6d 61 6e  64 73 20 69 6e 20 6f 72  |  commands in or|
000031c0  64 65 72 20 74 6f 20 75  73 65 20 61 6e 79 20 6f  |der to use any o|
000031d0  66 20 75 6e 7a 69 70 73  66 78 27 73 20 6f 70 74  |f unzipsfx's opt|
000031e0  69 6f 6e 73 2e 20 20 54  68 69 73 20 69 73 20 6e  |ions.  This is n|
000031f0  6f 74 20 6e 65 63 65 73  2d 0a 20 20 20 20 20 20  |ot neces-.      |
00003200  20 73 61 72 79 20 20 66  6f 72 20 20 73 69 6d 70  | sary  for  simp|
00003210  6c 65 20 20 65 78 74 72  61 63 74 69 6f 6e 2c 20  |le  extraction, |
00003220  20 62 75 74 20 20 74 68  65 20 63 6f 6d 6d 61 6e  | but  the comman|
00003230  64 20 74 6f 20 64 6f 20  73 6f 20 74 68 65 6e 20  |d to do so then |
00003240  62 65 63 6f 6d 65 73 2c  0a 20 20 20 20 20 20 20  |becomes,.       |
00003250  65 2e 67 2e 2c 20 60 60  72 75 6e 20 6c 65 74 74  |e.g., ``run lett|
00003260  65 72 73 27 27 20 28 74  6f 20 63 6f 6e 74 69 6e  |ers'' (to contin|
00003270  75 65 20 74 68 65 20 65  78 61 6d 70 6c 65 73 20  |ue the examples |
00003280  67 69 76 65 6e 20 61 62  6f 76 65 29 2e 0a 0a 20  |given above)... |
00003290  20 20 20 20 20 20 75 6e  7a 69 70 73 66 78 20 6f  |      unzipsfx o|
000032a0  6e 20 74 68 65 20 41 6d  69 67 61 20 72 65 71 75  |n the Amiga requ|
000032b0  69 72 65 73 20 74 68 65  20 75 73 65 20 6f 66 20  |ires the use of |
000032c0  61 20 73 70 65 63 69 61  6c 20 20 70 72 6f 67 72  |a special  progr|
000032d0  61 6d 2c 20 20 4d 61 6b  65 53 46 58 2c 0a 20 20  |am,  MakeSFX,.  |
000032e0  20 20 20 20 20 69 6e 20  20 6f 72 64 65 72 20 74  |     in  order t|
000032f0  6f 20 63 72 65 61 74 65  20 77 6f 72 6b 69 6e 67  |o create working|
00003300  20 73 65 6c 66 2d 65 78  74 72 61 63 74 69 6e 67  | self-extracting|
00003310  20 61 72 63 68 69 76 65  73 3b 20 73 69 6d 70 6c  | archives; simpl|
00003320  65 20 63 6f 6e 63 61 74  65 6e 61 2d 0a 20 20 20  |e concatena-.   |
00003330  20 20 20 20 74 69 6f 6e  20 64 6f 65 73 20 6e 6f  |    tion does no|
00003340  74 20 77 6f 72 6b 2e 20  20 28 46 6f 72 20 20 74  |t work.  (For  t|
00003350  65 63 68 6e 69 63 61 6c  6c 79 20 20 6f 72 69 65  |echnically  orie|
00003360  6e 74 65 64 20 20 75 73  65 72 73 2c 20 20 74 68  |nted  users,  th|
00003370  65 20 20 61 74 74 61 63  68 65 64 0a 20 20 20 20  |e  attached.    |
00003380  20 20 20 61 72 63 68 69  76 65 20 20 69 73 20 20  |   archive  is  |
00003390  64 65 66 69 6e 65 64 20  20 61 73 20 61 20 60 60  |defined  as a ``|
000033a0  64 65 62 75 67 20 68 75  6e 6b 2e 27 27 29 20 20  |debug hunk.'')  |
000033b0  54 68 65 72 65 20 6d 61  79 20 62 65 20 63 6f 6d  |There may be com|
000033c0  70 61 74 69 62 69 6c 69  74 79 0a 20 20 20 20 20  |patibility.     |
000033d0  20 20 70 72 6f 62 6c 65  6d 73 20 62 65 74 77 65  |  problems betwe|
000033e0  65 6e 20 74 68 65 20 52  4f 4d 20 6c 65 76 65 6c  |en the ROM level|
000033f0  73 20 6f 66 20 6f 6c 64  65 72 20 41 6d 69 67 61  |s of older Amiga|
00003400  73 20 61 6e 64 20 6e 65  77 65 72 20 6f 6e 65 73  |s and newer ones|
00003410  2e 0a 0a 20 20 20 20 20  20 20 41 6c 6c 20 63 75  |...       All cu|
00003420  72 72 65 6e 74 20 62 75  67 73 20 69 6e 20 75 6e  |rrent bugs in un|
00003430  7a 69 70 28 31 4c 29 20  65 78 69 73 74 20 69 6e  |zip(1L) exist in|
00003440  20 75 6e 7a 69 70 73 66  78 20 61 73 20 77 65 6c  | unzipsfx as wel|
00003450  6c 2e 0a 0a 44 49 41 47  4e 4f 53 54 49 43 53 0a  |l...DIAGNOSTICS.|
00003460  20 20 20 20 20 20 20 75  6e 7a 69 70 73 66 78 27  |       unzipsfx'|
00003470  73 20 65 78 69 74 20 73  74 61 74 75 73 20 28 65  |s exit status (e|
00003480  72 72 6f 72 20 6c 65 76  65 6c 29 20 69 73 20 69  |rror level) is i|
00003490  64 65 6e 74 69 63 61 6c  20 74 6f 20 74 68 61 74  |dentical to that|
000034a0  20 6f 66 20 75 6e 7a 69  70 28 31 4c 29 3b 0a 20  | of unzip(1L);. |
000034b0  20 20 20 20 20 20 73 65  65 20 74 68 65 20 63 6f  |      see the co|
000034c0  72 72 65 73 70 6f 6e 64  69 6e 67 20 6d 61 6e 20  |rresponding man |
000034d0  70 61 67 65 2e 0a 0a 53  45 45 20 41 4c 53 4f 0a  |page...SEE ALSO.|
000034e0  20 20 20 20 20 20 20 66  75 6e 7a 69 70 28 31 4c  |       funzip(1L|
000034f0  29 2c 20 75 6e 7a 69 70  28 31 4c 29 2c 20 7a 69  |), unzip(1L), zi|
00003500  70 28 31 4c 29 2c 20 7a  69 70 63 6c 6f 61 6b 28  |p(1L), zipcloak(|
00003510  31 4c 29 2c 20 7a 69 70  67 72 65 70 28 31 4c 29  |1L), zipgrep(1L)|
00003520  2c 20 7a 69 70 69 6e 66  6f 28 31 4c 29 2c 0a 20  |, zipinfo(1L),. |
00003530  20 20 20 20 20 20 7a 69  70 6e 6f 74 65 28 31 4c  |      zipnote(1L|
00003540  29 2c 20 7a 69 70 73 70  6c 69 74 28 31 4c 29 0a  |), zipsplit(1L).|
00003550  0a 55 52 4c 0a 20 20 20  20 20 20 20 54 68 65 20  |.URL.       The |
00003560  49 6e 66 6f 2d 5a 49 50  20 68 6f 6d 65 20 70 61  |Info-ZIP home pa|
00003570  67 65 20 69 73 20 63 75  72 72 65 6e 74 6c 79 20  |ge is currently |
00003580  61 74 0a 20 20 20 20 20  20 20 20 20 20 20 68 74  |at.           ht|
00003590  74 70 3a 2f 2f 77 77 77  2e 69 6e 66 6f 2d 7a 69  |tp://www.info-zi|
000035a0  70 2e 6f 72 67 2f 70 75  62 2f 69 6e 66 6f 7a 69  |p.org/pub/infozi|
000035b0  70 2f 0a 20 20 20 20 20  20 20 6f 72 0a 20 20 20  |p/.       or.   |
000035c0  20 20 20 20 20 20 20 20  66 74 70 3a 2f 2f 66 74  |        ftp://ft|
000035d0  70 2e 69 6e 66 6f 2d 7a  69 70 2e 6f 72 67 2f 70  |p.info-zip.org/p|
000035e0  75 62 2f 69 6e 66 6f 7a  69 70 2f 20 2e 0a 0a 41  |ub/infozip/ ...A|
000035f0  55 54 48 4f 52 53 0a 20  20 20 20 20 20 20 47 72  |UTHORS.       Gr|
00003600  65 67 20 52 6f 65 6c 6f  66 73 20 77 61 73 20 72  |eg Roelofs was r|
00003610  65 73 70 6f 6e 73 69 62  6c 65 20 66 6f 72 20 74  |esponsible for t|
00003620  68 65 20 62 61 73 69 63  20 6d 6f 64 69 66 69 63  |he basic modific|
00003630  61 74 69 6f 6e 73 20 74  6f 20 55 6e 5a 69 70 20  |ations to UnZip |
00003640  20 6e 65 63 2d 0a 20 20  20 20 20 20 20 65 73 73  | nec-.       ess|
00003650  61 72 79 20 20 74 6f 20  63 72 65 61 74 65 20 55  |ary  to create U|
00003660  6e 5a 69 70 53 46 58 2e  20 20 53 65 65 20 75 6e  |nZipSFX.  See un|
00003670  7a 69 70 28 31 4c 29 20  66 6f 72 20 74 68 65 20  |zip(1L) for the |
00003680  63 75 72 72 65 6e 74 20  6c 69 73 74 20 6f 66 20  |current list of |
00003690  5a 69 70 2d 0a 20 20 20  20 20 20 20 42 75 67 73  |Zip-.       Bugs|
000036a0  20 61 75 74 68 6f 72 73  2c 20 6f 72 20 74 68 65  | authors, or the|
000036b0  20 66 69 6c 65 20 43 4f  4e 54 52 49 42 53 20 69  | file CONTRIBS i|
000036c0  6e 20 74 68 65 20 55 6e  5a 69 70 20 73 6f 75 72  |n the UnZip sour|
000036d0  63 65 20 64 69 73 74 72  69 62 75 74 69 6f 6e 20  |ce distribution |
000036e0  66 6f 72 0a 20 20 20 20  20 20 20 74 68 65 20 66  |for.       the f|
000036f0  75 6c 6c 20 6c 69 73 74  20 6f 66 20 49 6e 66 6f  |ull list of Info|
00003700  2d 5a 49 50 20 63 6f 6e  74 72 69 62 75 74 6f 72  |-ZIP contributor|
00003710  73 2e 0a 0a 49 6e 66 6f  2d 5a 49 50 20 20 20 20  |s...Info-ZIP    |
00003720  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00003730  20 32 30 20 41 70 72 69  6c 20 32 30 30 39 20 28  | 20 April 2009 (|
00003740  76 36 2e 30 29 20 20 20  20 20 20 20 20 20 20 20  |v6.0)           |
00003750  20 20 20 20 20 20 55 4e  5a 49 50 53 46 58 28 31  |      UNZIPSFX(1|
00003760  4c 29 0a                                          |L).|
00003763