Bugs (real and/or imagined):
---------------------------

 - pkbug error:  zipfile with incorrect csize and/or ucsize--check for end of
    compressed (csize) data in uncompression routines:
      unimplod.c:    while ((!zipeof) && ((outpos + outcnt) < ucsize)) {
      unreduce.c:    while (((outpos + outcnt) < ucsize) && (!zipeof)) {
    (James Birdsall, Mark, bottom of BUGS.long)
 - add SEGV signal handler to avoid core dumps (Jean-loup, BUGS.long)
 - if PK signature not found, append .zip and try again without error 
    messages (Jean-loup, others, bottom of BUGS.long)
 - stdlib.h non-existent some systems?  (IBM BSD 4.3, Apollo Domain?)
 - disk full:  a few files clear some pointer; continuing beyond "Continue?"
    prompt, regardless of answer, kills unzip--stack too small? (doesn't seem
    to matter)  Bug in MSC write() function?  Subsequent write code isn't any 
    different from -t option, so unlikely to be bug in uncompress routines...
    File descriptor bad/close() failure?  (workaround:  ^C at prompt)
 - textfile conversions on a PC system add extra CR to lines which already have
    CR/LF combo; probably don't work in all directions, either (Mac/Unix/...)
 - compressed symlinks are allowed:  revise symlink code
 - malloc/free main storage as needed (esp. stack[])
 - fix "no errors detected" message for errors occurring *before* extract_or_
    test_files(); count errors?  differentiate between errors and warnings?
 - add new extended local header capability for piped zipfiles


Features (possible and/or definite):
-----------------------------------

 - add loop (2 or 3) for multiple password attempts with decryption
 - test/incorporate Martin Schulz optimization patch
 - 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?  Override with +Q?  -Q# ?
 - allow wildcards in zipfile name (loop through each one)
 - build in capability to check text/binary type and warn if -a (if version
    < 1.1 and not made on DOS--i.e., not early Info-ZIP versions)
 - change use of __STDC__ to PROTO or something similar:  too much awkwardness
 - incorporate Atari patches
 - modify set_file_time routines to share common code (macro?)
 - use lrec.whatever instead of pInfo (crec), whenever possible (see next item)
 - modify to decompress input stream if part of a pipe, but continue
    using central directory if not (BIG job!)
 - assembly-language version of CRC check; write unimplode in assembler?
 - check for environment variable ("UNZIP") for default options--override
    with +[options]
 - -v#, -l# instead of "q"?  combine with UNZIP variable
 - add -i (ignore case for internal filename match) option?  hmmmm...
 - mapname() should be rewritten
 - CP/M version (Jeffery Foy)
 - VM/CMS version (Chua Kong Sian, others)
 - MS-DOS Power C support (need predefined token:  see ship 1.1)
 - put man pages in more "proper" nroff format
 - add OS/2 .INF format helpfiles for UnZip and ZipInfo

