Annotation of coherent/b/bin/zip/zip.1, revision 1.1.1.1

1.1       root        1: .\" Copyright (C) 1990-1992 Mark Adler, Richard B. Wales, Jean-loup Gailly,
                      2: .\" Kai Uwe Rommel and Igor Mandrichenko.
                      3: .\" Permission is granted to any individual or institution to use, copy, or
                      4: .\" redistribute this software so long as all of the original files are included
                      5: .\" unmodified, that it is not sold for profit, and that this copyright notice
                      6: .\" is retained.
                      7: .\"
                      8: .\" zip.1 by Mark Adler.
                      9: .\"
                     10: .TH ZIP 1
                     11: .SH NAME
                     12: zip, zipcloak, zipnote, zipsplit \- package and compress (archive) files
                     13: .SH SYNOPSIS
                     14: .B zip
                     15: [
                     16: .B \-cdeEfghjklmoqruwyz@
                     17: ] [
                     18: .B \-b
                     19: temppath ] [
                     20: .B \-n
                     21: suffixes ] [
                     22: .B \-t
                     23: mmddyy ] [ zipfile list ] [
                     24: .B \-x
                     25: list ]
                     26: .PP
                     27: .B zipcloak
                     28: [
                     29: .B \-d
                     30: ] [
                     31: .BI -b " path"
                     32: ]
                     33: .I zipfile
                     34: .PP
                     35: .B zipnote
                     36: [
                     37: .B -w
                     38: ] [
                     39: .BI \-b " path"
                     40: ]
                     41: .I zipfile
                     42: .PP
                     43: .B zipsplit
                     44: [
                     45: .B \-ti
                     46: ] [
                     47: .BI \-n " size"
                     48: ] [
                     49: .BI \-b " path"
                     50: ]
                     51: .I zipfile
                     52: .br
                     53: .SH DESCRIPTION
                     54: .I zip
                     55: is a compression and file packaging utility for Unix, VMS, MSDOS,
                     56: OS/2, Windows NT, Minix, Atari and Macintosh.  It is analogous to a
                     57: combination of tar and compress and is compatible with PKZIP (Phil
                     58: Katz ZIP) for MSDOS systems.
                     59: .PP
                     60: There is a companion to
                     61: .I zip
                     62: called
                     63: .I unzip
                     64: (of course) which you should be able
                     65: to find the same place you got
                     66: .I zip.  zip
                     67: and
                     68: .I unzip
                     69: can work with files
                     70: produced by PKZIP under MSDOS, and PKZIP and PKUNZIP can work with files
                     71: produced by
                     72: .I zip.
                     73: .PP
                     74: .I zip
                     75: version 1.9 is compatible with pkzip 1.93a.
                     76: Note that pkunzip 1.10 cannot extract files produced by pkzip 1.93a
                     77: or zip 1.9. You must use pkunzip 1.93a or unzip 5.0 to extract them.
                     78: .PP
                     79: For a brief help on
                     80: .I zip
                     81: and
                     82: .I unzip,
                     83: run each without specifying any parameters on the command line.
                     84: .PP
                     85: .I zip
                     86: puts one or more compressed files into a single "zip file" along with
                     87: information about the files, including the name, path if requested, date
                     88: and time last modified, protection, and check information to verify the
                     89: fidelity of each entry.
                     90: .I zip
                     91: can also be used as a filter, compressing standard input to standard output.
                     92: .I zip
                     93: can pack an entire directory structure in a
                     94: zip file with a single command.  Compression ratios of 2:1 to 3:1 are
                     95: common for text files.
                     96: .I zip
                     97: has one compression method (deflation) and can also store files without
                     98: compression. It automatically chooses the better of the two for each file
                     99: to be compressed.
                    100: .PP
                    101: .I zip
                    102: is useful for packaging a set of files to send to someone or for distribution;
                    103: for archiving or backing up files; and for saving disk space by temporarily
                    104: compressing unused files or directories.
                    105: .SH "HOW TO USE ZIP"
                    106: The simplest use of
                    107: .I zip
                    108: is as follows:
                    109: .PP
                    110: .ti +5n
                    111: zip stuff *
                    112: .PP
                    113: This will create the file "stuff.zip" (assuming it does not exist) and put
                    114: all the files in the current directory in stuff.zip in a compressed form.
                    115: The .zip suffix is added automatically, unless that file name given contains
                    116: a dot already.  This allows specifying suffixes other than ".zip".
                    117: .PP
                    118: Because of the way the shell does filename substitution, files that start
                    119: with a "." are not included.  To include those as well, you can:
                    120: .PP
                    121: .ti +5n
                    122: zip stuff .* *
                    123: .PP
                    124: Even this will not include any subdirectories that are in the current
                    125: directory.  To zip up an entire directory, the command:
                    126: .PP
                    127: .ti +5n
                    128: zip -r foo foo
                    129: .PP
                    130: will create the file "foo.zip" containing all the files and directories in
                    131: the directory "foo" that is in the current directory. (The first "foo" denotes
                    132: the zip file, the second one denotes the directory.)  The "r" option means
                    133: recurse through the directory structure.  In this case, all the
                    134: files and directories in foo are zipped, including the ones that start with
                    135: a ".", since the recursion does not use the shell's file-name substitution.
                    136: You should not use -r with the name ".*", since that matches ".." which will
                    137: attempt to zip up the parent directory--probably not what was intended.
                    138: .PP
                    139: You may want to make a zip file that contains the files in foo, but not record
                    140: the directory name, foo.  You can use the -j (junk path) option to leave off
                    141: the path:
                    142: .PP
                    143: .ti +5n
                    144: zip -j foo foo/*
                    145: .PP
                    146: The -y option (only under Unix) will store symbolic links as such in the
                    147: zip file, instead of compressing and storing the file referred to in the link.
                    148: .PP
                    149: You might be zipping to save disk space, in which case you could:
                    150: .PP
                    151: .ti +5n
                    152: zip -rm foo foo
                    153: .PP
                    154: where the "m" option means "move".  This will delete foo and its contents
                    155: after making foo.zip.  No deletions will be done until the zip has completed
                    156: with no errors.  This option is obviously more dangerous and should be
                    157: used with care.
                    158: .PP
                    159: If the zip file already exists, these commands will replace existing or add
                    160: new entries to the zip file.  For example, if you were really short on disk
                    161: space, you might not have enough room simultaneously to hold the directory
                    162: foo and the compressed foo.zip.  In this case, you could do it in steps.  If
                    163: foo contained the subdirectories tom, dick, and harry, then you could:
                    164: .PP
                    165: .ti +5n
                    166: zip -rm foo foo/tom
                    167: .ti +5n
                    168: zip -rm foo foo/dick
                    169: .ti +5n
                    170: zip -rm foo foo/harry
                    171: .PP
                    172: where the first command would create foo.zip, and the next two would add to
                    173: it.  At the completion of each zip command, the directory just zipped would
                    174: be deleted, making room in which the next
                    175: .I zip
                    176: command could work.
                    177: .PP
                    178: .I zip
                    179: will also accept a single dash ("-") as the zip file name, in which case it
                    180: will write the zip file to stdout, allowing the output to be piped to another
                    181: program. For example:
                    182: .PP
                    183: .ti +5n
                    184: zip -r - . | dd of=/dev/nrst0 obs=16k
                    185: .PP
                    186: would write the zip output directly to a tape with the specified block size
                    187: for the purpose of backing up the current directory.
                    188: .PP
                    189: .I zip
                    190: also accepts a single dash ("-") as the name of a file to be compressed, in
                    191: which case it will read the zip file from stdin, allowing zip to take
                    192: input from another program. For example:
                    193: .PP
                    194: .ti +5n
                    195: tar cf - . | zip backup -
                    196: .PP
                    197: would compress the output of the tar command for the purpose of backing up
                    198: the current directory. This generally produces better compression than
                    199: the previous example using the -r option, because
                    200: .I zip
                    201: can take advantage of redundancy between files. The backup can be restored
                    202: using the command
                    203: .PP
                    204: .ti +5n
                    205: unzip -p backup | tar xf -
                    206: .PP
                    207: When no zip file name is given and stdout is not a terminal,
                    208: .I zip
                    209: acts as a filter, compressing standard input to standard output.
                    210: For example,
                    211: .PP
                    212: .ti +5n
                    213: tar cf - . | zip | dd of=/dev/nrst0
                    214: .PP
                    215: is equivalent to
                    216: .PP
                    217: .ti +5n
                    218: tar cf - . | zip - - | dd of=/dev/nrst0
                    219: .PP
                    220: Zip archives created in this manner can be extracted with the program
                    221: .I funzip
                    222: which is provided in the
                    223: .I unzip
                    224: package. For example,
                    225: .PP
                    226: .ti +5n
                    227:    dd if=/dev/nrst0 | funzip | tar xvf -
                    228: .SH "MODIFYING EXISTING ZIP FILES"
                    229: When given the name of an existing zip file with the above commands,
                    230: .I zip
                    231: will replace identically named entries in the
                    232: .I zip
                    233: file or add entries for
                    234: new names.  For example, if foo.zip exists and contains foo/file1 and
                    235: foo/file2, and the directory foo contains the files foo/file1 and foo/file3,
                    236: then:
                    237: .PP
                    238: .ti +5n
                    239: zip -r foo foo
                    240: .PP
                    241: will replace foo/file1 in foo.zip and add foo/file3 to foo.zip.  After
                    242: this, foo.zip contains foo/file1, foo/file2, and foo/file3, with foo/file2
                    243: unchanged from before.
                    244: .PP
                    245: When changing an existing zip file,
                    246: .I zip
                    247: will write a temporary file with
                    248: the new contents, and only replace the old one when the zip has completed
                    249: with no errors. You can use
                    250: the -b option to specify a different path (usually a different device) to
                    251: put the temporary file in.  For example:
                    252: .PP
                    253: .ti +5n
                    254: zip -b /tmp stuff *
                    255: .PP
                    256: will put the temporary zip file and the temporary compression files in the
                    257: directory "/tmp", copying over stuff.zip in the current directory when
                    258: done.
                    259: .PP
                    260: If you are only adding entries to a zip file, not replacing, and the
                    261: -g option is given, then
                    262: .I zip
                    263: grows (appends to) the file instead of copying it.  The danger of this is that
                    264: if the operation fails, the original zip file is corrupted and lost.
                    265: .PP
                    266: There are two other ways to change or add entries in a zip file that are
                    267: restrictions of simple addition or replacement.  The first is -u (update)
                    268: which will add new entries to the zip file as before but will replace
                    269: existing entries only if the modified date of the file is more recent than
                    270: the date recorded for that name in the zip file.  For example:
                    271: .PP
                    272: .ti +5n
                    273: zip -u stuff *
                    274: .PP
                    275: will add any new files in the current directory, and update any changed files
                    276: in the zip file stuff.zip.  Note that
                    277: .I zip
                    278: will not try to pack stuff.zip into
                    279: itself when you do this. 
                    280: .I zip
                    281: will always exclude the zip file from the files on which to be operated.
                    282: .PP
                    283: The second restriction is -f (freshen) which, like update, will only replace
                    284: entries with newer files; unlike update, will not add files that are not
                    285: already in the zip file.  For this option, you may want to simply freshen all
                    286: of the files that are in the specified zip file.  To do this you would simply:
                    287: .PP
                    288: .ti +5n
                    289: zip -f foo
                    290: .PP
                    291: Note that the -f option with no arguments freshens all the entries in the
                    292: zip file.  The same is true of -u, and hence "zip -u foo" and "zip -f foo"
                    293: both do the same thing.
                    294: .PP
                    295: This command should
                    296: be run from the same directory from which the original zip command was run,
                    297: since paths stored in zip files are always relative.
                    298: .PP
                    299: Another restriction that can be used with adding, updating, or freshening is
                    300: -t (time), which will not operate on files modified earlier than the specified
                    301: date.  For example:
                    302: .PP
                    303: .ti +5n
                    304: zip -rt 120791 infamy foo
                    305: .PP
                    306: will add all the files in foo and its subdirectories that were last modified
                    307: on December 7, 1991, or later to the zip file infamy.zip.
                    308: .PP
                    309: Also, files can be explicitly excluded using the -x option:
                    310: .PP
                    311: .ti +5n
                    312: zip -r foo foo -x \\*.o
                    313: .PP
                    314: which will zip up the contents of foo into foo.zip but exclude all the
                    315: files that end in ".o".  Here the backslash causes
                    316: .I zip
                    317: to match file names
                    318: that were found when foo was searched.
                    319: .PP
                    320: The last operation is -d (delete) which will remove entries from a zip file.
                    321: An example might be:
                    322: .PP
                    323: .ti +5n
                    324: zip -d foo foo/tom/junk foo/harry/\\* \\*.o
                    325: .PP
                    326: which will remove the entry foo/tom/junk, all of the files that start with
                    327: "foo/harry/", and all of the files that end with ".o" (in any path).  Note
                    328: that once again, the shell expansion has been inhibited with backslashes, so
                    329: that
                    330: .I zip
                    331: can see the asterisks.  
                    332: .I zip
                    333: can then match on the contents of the zip
                    334: file instead of the contents of the current directory.
                    335: .PP
                    336: Under MSDOS, -d is case sensitive when it matches names in the zip file.
                    337: This allows deleting names that were zipped on other systems, but requires
                    338: that the names be entered in upper case if they were zipped on an MSDOS
                    339: system, so that the names can be found in the zip file and deleted.
                    340: .SH "MORE OPTIONS"
                    341: As mentioned before,
                    342: .I zip
                    343: will use the best of two methods: deflate or store.
                    344: .PP
                    345: The option -0 will force
                    346: .I zip
                    347: to use store on all files. For example:
                    348: .PP
                    349: .ti +5n
                    350: zip -r0 foo foo
                    351: .PP
                    352: will zip up the directory foo into foo.zip using only store.
                    353: .PP
                    354: The speed of deflation can also be controlled with options -1 (fastest
                    355: method but less compression) to -9 (best compression but slower). The
                    356: default value is -5. For example:
                    357: .PP
                    358: .ti +5n
                    359: zip -r8 foo foo
                    360: .PP
                    361: In nearly all cases, a file that is already compressed cannot be compressed
                    362: further by
                    363: .I zip,
                    364: or if it can, the effect is minimal.  The -n option prevents
                    365: .I zip
                    366: from trying to compress files that have the given suffixes.
                    367: Such files are simply stored (0% compression) in the output zip file,
                    368: so that
                    369: .I zip
                    370: doesn't waste its time trying to compress them.
                    371: The suffixes are separated by
                    372: either colons or semicolons.  For example:
                    373: .PP
                    374: .ti +5n
                    375: zip -rn ".Z:.zip:.tiff:.gif:.snd"  foo foo
                    376: .PP
                    377: will put everything in foo into foo.zip, but will store any files that end
                    378: in .Z, .zip, .tiff, .gif, or .snd without trying to compress them.  (Image
                    379: and sound files often have their own specialized compression methods.)
                    380: The default suffix list is ".Z:.zip;.zoo:.arc:.lzh:.arj".
                    381: The environment variable ZIPOPT can be used to change this default. For
                    382: example under Unix with csh:
                    383: .PP
                    384: .ti +5n
                    385: setenv ZIPOPT "-n .gif:.zip"
                    386: .PP
                    387: The variable ZIPOPT can be used for any option and can include several
                    388: options.
                    389: .PP
                    390: Under Unix and under OS/2 (if files from an HPFS are stored),
                    391: .I zip
                    392: will store the full path (relative to the current path) and name of the
                    393: file (or just the name if -j is specified) in the zip file along with the
                    394: Unix attributes, and it will mark
                    395: the entry as made under Unix.  If the zip file is intended for PKUNZIP under
                    396: MSDOS, then the -k (Katz) option should be used to attempt to convert the
                    397: names and paths to conform to MSDOS, store only the MSDOS attribute (just
                    398: the user write attribute from Unix), and mark the entry as made under MSDOS
                    399: (even though it wasn't).
                    400: .PP
                    401: The -o (older) option will set the "last modified" time of the zip file to
                    402: the latest "last modified" time of the entries in the zip file.  This can
                    403: be used without any other operations, if desired.  For example:
                    404: .PP
                    405: .ti +5n
                    406: zip -o foo
                    407: .PP
                    408: will change the last modified time of foo.zip to the latest time of the
                    409: entries in foo.zip.
                    410: .PP
                    411: The -e and -c options operate on all files updated or added to the zip file.
                    412: Encryption (-e) will prompt for a password on the terminal and will
                    413: not echo the password as it is typed (if stderr is not a TTY, zip will exit
                    414: with an error).  New zip entries will be encrypted using that password.  For
                    415: added peace of mind, you can use -ee, which will prompt for the password
                    416: twice, checking that the two are the same before using it. The encryption
                    417: code is distributed separately, so the -e option may not be available
                    418: in your version.
                    419: .PP
                    420: One-line comments can be added for each file with the -c option.  The zip
                    421: file operations (adding or updating) will be done first, and you will then be
                    422: prompted for a one-line comment for each file.  You can then enter the comment
                    423: followed by return, or just return for no comment.
                    424: .PP
                    425: The -z option will prompt you for a multi-line comment for the entire zip
                    426: file.  This option can be used by itself, or in combination with other
                    427: options.  The comment is ended by a line containing just a period, or an end
                    428: of file condition (^D on Unix, ^Z on MSDOS, OS/2, and VAX/VMS).
                    429: Since -z reads the
                    430: lines from stdin, you can simply take the comment from a file:
                    431: .PP
                    432: .ti +5n
                    433: zip -z foo < foowhat
                    434: .PP
                    435: The -q (quiet) option eliminates the informational messages and comment prompts
                    436: while
                    437: .I zip
                    438: is operating.  This might be used in shell scripts, for example, or if the
                    439: zip operation is being performed as a background task ("zip -q foo *.c &").
                    440: .PP
                    441: .I zip
                    442: can take a list of file names to operate on from stdin using the -@ option.
                    443: In Unix, this option can be used with the find command to extend greatly
                    444: the functionality of
                    445: .I zip.
                    446: For example, to zip up all the C source files in the current directory and
                    447: its subdirectories, you can:
                    448: .PP
                    449: .ti +5n
                    450: find . -type f -name "*.[ch]" -print | zip source -@
                    451: .PP
                    452: Note that the pattern must be quoted to keep the shell from expanding it.
                    453: .PP
                    454: Under VMS only, the -w option will append the version number of the files to
                    455: the name and zip up multiple versions of files.  Without -w,
                    456: .I zip
                    457: will only use the most recent version of the specified file(s).
                    458: .PP
                    459: The -l option translates the Unix end-of-line character LF into the
                    460: MSDOS convention CR LF. This option should not be used on binary files.
                    461: This option can be used on Unix if the zip file is intended for PKUNZIP
                    462: under MSDOS. If the input files already contain CR LF, this option adds
                    463: an extra CR. This ensure that "unzip -a" on Unix will get back an exact
                    464: copy of the original file, to undo the effect of "zip -l".
                    465: .PP
                    466: If
                    467: .I zip
                    468: is run with the -h option, or with no arguments and standard output is
                    469: a terminal, the license and the command-argument and option help is shown.
                    470: The -L option just shows the license.
                    471: .SH "ABOUT PATTERN MATCHING"
                    472: (Note: this section applies to Unix.  Watch this space for details on MSDOS
                    473: and VMS operation.)
                    474: .PP
                    475: The Unix shell (sh or csh) does filename substitution on command arguments.
                    476: The special characters are ?, which matches any single character; * which
                    477: matches any number of characters (including none); and [] which matches any
                    478: character in the range inside the brackets (like [a\-f] or [0\-9]).  When
                    479: these characters are encountered (and not escaped with a backslash or
                    480: quotes), the
                    481: shell will look for files relative to the current path that match the
                    482: pattern, and replace the argument with a list of the names that matched.
                    483: .PP
                    484: .I zip
                    485: can do the same matching on names that are in the zip file being
                    486: modified or, in the case of the -x (exclude) option, on the list of
                    487: files to be operated on, by using backslashes or quotes
                    488: to tell the shell not to do the name expansion.  In general, when
                    489: .I zip
                    490: encounters a name in the list
                    491: of files to do, it first looks for the name in the file system.  If it
                    492: finds it, it then adds it to the list of files to do.  If it does not
                    493: find it, it will look for the name in the zip file being modified (if it
                    494: exists), using the pattern matching characters above, if any.  For each
                    495: match, it will add that name to the list of files to do.  After -x
                    496: (exclude), the names are removed from the to-do list instead of added.
                    497: .PP
                    498: The pattern matching includes the path, and so patterns like \\*.o match
                    499: names that end in ".o", no matter what the path prefix is.  Note that the
                    500: backslash must precede every special character (i.e. ?*[]), or the entire
                    501: argument must be enclosed in double quotes ("").
                    502: .PP
                    503: In general, using backslash to make
                    504: .I zip
                    505: do the pattern matching is used
                    506: with the -f (freshen) and -d (delete) options, and sometimes after the
                    507: -x (exclude) option when used with any operation (add, -u, -f, or -d).
                    508: .I zip
                    509: will never use pattern matching to search the file system.  If
                    510: .I zip
                    511: has recursed into a directory, all files (and all directories) in there
                    512: are fair game.
                    513: .SH COPYRIGHT
                    514: Copyright (C) 1990-1992 Mark Adler, Richard B. Wales, Jean-loup Gailly,
                    515: Kai Uwe Rommel and Igor Mandrichenko.
                    516: Permission is granted to any individual or institution to use, copy, or
                    517: redistribute this software so long as all of the original files are included
                    518: unmodified, that it is not sold for profit, and that this copyright notice
                    519: is retained.
                    520: .SH ACKNOWLEDGEMENTS
                    521: Thanks to R. P. Byrne for his Shrink.Pas program which inspired this project;
                    522: to Phil Katz for making the zip
                    523: file format, compression format, and .zip filename extension all public domain;
                    524: to Steve Burg and Phil Katz for help on unclear points of the deflate format;
                    525: to Keith Petersen and Rich Wales for providing a mailing list and ftp site for
                    526: the INFO-ZIP group to use; and most importantly, to the INFO-ZIP group itself
                    527: (listed in the file infozip.who) without whose tireless testing and bug-fixing
                    528: efforts a portable
                    529: .I zip
                    530: would not have been possible.  Finally we should thank (blame) the INFO-ZIP
                    531: moderator, David Kirschbaum for getting us into this mess in the first place.
                    532: .SH "SEE ALSO"
                    533: unzip(1), tar(1), compress(1)
                    534: .SH BUGS
                    535: WARNING: zip files produced by zip 1.9 must not be
                    536: *updated* by zip 1.0 or pkzip 1.10 or pkzip 1.93a, if they contain
                    537: encrypted members, or if they have been produced in a pipe or on a non
                    538: seekable device. The old versions of zip or pkzip would destroy the
                    539: zip structure. The old versions can list the contents of the zip file
                    540: but cannot extract it anyway (because of the new compression algorithm).
                    541: If you do not use encryption and use regular disk files, you do
                    542: not have to care about this problem.
                    543: .PP
                    544: zip 1.9 is compatible with pkzip 1.93a, except when two features
                    545: are used: encryption or zip file created in a pipe or on a non
                    546: seekable device. pkzip versions above 2.0 will support such files, and
                    547: unzip 5.0 already supports them.
                    548: .PP
                    549: Without -y, when zip must compress a symbolic link to an non existing file,
                    550: it only displays a warning "name not matched". A better warnign should be
                    551: given.
                    552: .PP
                    553: The option -e also forces -o (make zipfile as old as latest entry). This
                    554: is used to make brute force attacks on the password harder.
                    555: .PP
                    556: Under VMS, not all of the odd file formats are treated properly.  Only
                    557: zip files of format stream-LF and fixed length 512 are expected to work
                    558: with zip.  Others can be converted using Rahul Dhesi's BILF program.
                    559: This version of zip does handle some of the conversion internally.
                    560: When using Kermit to transfer zip files from Vax to MSDOS, type "set
                    561: file type block" on the Vax.  When transfering from MSDOS to Vax, type
                    562: "set file type fixed" on the Vax.  In both cases, type "set file type
                    563: binary" on MSDOS.
                    564: .PP
                    565: Under VMS, zip hangs for file specification that uses DECnet syntax (foo::*.*).
                    566: .PP
                    567: Under OS/2, the amount of External Attributes displayed by DIR is (for
                    568: compatibility) the amount returned by the 16-bit version of
                    569: DosQueryPathInfo(). Otherwise OS/2 1.3 and 2.0 would report different
                    570: EA sizes when DIRing a file.
                    571: However, the structure layout returned by the 32-bit DosQueryPathInfo()
                    572: is a bit different, it uses extra padding bytes and link pointers (it's
                    573: a linked list) to have all fields on 4-byte boundaries for portability
                    574: to future RISC OS/2 versions. Therefore the value reported by ZIP
                    575: (which uses this 32-bit-mode size) differs from that reported by DIR.
                    576: ZIP stores the 32-bit format for portability, even the 16-bit
                    577: MS-C-compiled version running on OS/2 1.3, so even this one shows the
                    578: 32-bit-mode size.
                    579: .PP
                    580: LIKE ANYTHING ELSE THAT'S FREE, ZIP AND ITS ASSOCIATED UTILITIES ARE
                    581: PROVIDED AS IS AND COME WITH NO WARRANTY OF ANY KIND, EITHER EXPRESSED OR
                    582: IMPLIED. IN NO EVENT WILL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES
                    583: RESULTING FROM THE USE OF THIS SOFTWARE.
                    584: .PP
                    585: That having been said, please send any problems or comments via email to
                    586: the Internet address
                    587: zip\[email protected].  For bug reports, please include the
                    588: version of zip, the make options you used to compile it, the machine and
                    589: operating system you are using, and as much additional information as
                    590: possible.  Thank you for your support.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.