Bogus bugs (not our fault!): --------------------------- By far THE BIGGEST source of bug reports to Info-ZIP/zip-bugs is the incorrect transfer of zipfiles (or of the UnZip executable itself). ALWAYS TRANSFER IN BINARY MODE! This includes ftp transfers and *both* ends of a Kermit connection ("set file type binary"). If your copy isn't exactly the same size as the original, you made a mistake. Another common source of errors such as "compression method 8 not sup- ported" is the existence of an old version of UnZip somewhere in your path. Make sure you're using the version you think you're using; give the full path explicitly if necessary. Executing "unzip" without any options will print a help screen, at the top of which is the UnZip version number and release date; and executing "unzip -v" without any zipfile or other options will give information about what compiler was used, the target operating system, any special UnZip options, and the date of compilation--only for version 5.11 and later, though! (Also, under Unix C shell and some Bourne shells, "which unzip" will print the path of the unzip you're actually using. Under OS/2 and MS-DOS, whch21gr.zip [on SimTel mirror sites] will do the same thing; in addi- tion, "which -a unzip" will show *all* copies of unzip in your path.) Bugs (real and/or imagined): --------------------------- - MKS Korn shell: unzip assumes the MKS-style command-line environment options are relevant to it, but this is not the case if unzip was called by another program (e.g., from a .BAT file). A fix for this exists for Borland compilers but not for MSC, Watcom, djgpp, etc. - OS/2: for paths with one long component, the .LONGNAME EA may be saved for all components (waste of disk space): how to check?? - VMS: for extracting to other directories, only the VMS-style "-d [.foo]" format is accepted; "-d foo" should also be allowed. Long filenames are not automatically truncated to 39.39. Even with -o specified, the user is queried before overwriting; without -o, there are two levels of query. - Novell Netware: Netware drives may clear the archive bit on extracted files under OS/2 and/or MS-DOS. UnZip always *tries* to set the archive bit, however. [pynq@uchicago, 940527] - DEC Ultrix: on long zipfiles, unzip will sometimes fail (bad CRC, not always reproducible); this is apparently due either to a hardware bug (cache mem) or OS bug (page faults?) [Igor, Jean-loup, bottom of BUGS.long] - Pyramid: USE_FWRITE causes CRC errors (???) [Kevin] - funzip/more/decryption/no-echo bug: race condition(?) causes terminal to be "reset" to no-echo state - directory dates/times (special Unix perms?) not restored - Macintosh (100200), Atari (020000) external file attributes not interpreted correctly (both unzip and zipinfo) - pkbug error: zipfile with incorrect csize and/or ucsize--check for end of compressed (csize) data in uncompression routines: unreduce.c: while (((outpos + outcnt) < ucsize) && (!zipeof)) { [James Birdsall, Mark, bottom of BUGS.long] - OS/2: directory EAs not restored if directory exists [Kai Uwe, KG27515@uark] (subsequent note: no way to determine which EAs are newer ==> cannot restore without user input) - MS-DOS: Borland executables don't allow other than 80-column, 25/43/50-line screen modes (Borland bug) [Michael Stillwell] Features (possible and/or definite): ----------------------------------- - put man pages in more "proper" nroff format - ignore case for internal filename match on non-Unix systems, unless file- specs enclosed in single quotes - save/extract Unix mtime/ctime/atime/UID/GID info (Unix extra field) - modify to decompress input stream if part of a pipe, but continue using central directory if not (BIG job!)--extended local header capability - add zipinfo option(s) to sort alphabetically, by date/time, in reverse, etc. - add "near" to global vars [Steve Salisbury, 92.4.21] - modify set_file_time routines to share common code (macro?) - when listing filenames, use '?' for non-printables? [Thomas Wolff, 92.6.1] - add zipinfo "in-depth" option? (check local vs. central filenames, etc.) - create zipcat program to concatenate zipfiles - assembly-language routines? - VM/CMS version (Walter Moore, Phil Howard, Chua Kong Sian, others) - add -oo option (overwrite and override)? no user queries (if bad password, skip file; if disk full, take default action; if VMS special on non-VMS, unpack anyway; etc.) - add -Q[Q[Q]] option (quiet mode on comments, cautions, warnings and errors)? forget -oo, or make synonym? Default level -Q? - add OS/2 .INF format helpfiles for UnZip and ZipInfo?