
      ToDo -- UnZip 6.1  Revised: 2018-12-01

------------------------------------------------------------------------

      Chronic Deficiencies
      --------------------

- Automated testing system.  Should accommodate multiple operating
  systems (at least Unix, VMS and Windows?), so Perl-based?

- Testing.

- Performance analysis and improvement.

- Localized messages.

- Organized development plans (including this document).

------------------------------------------------------------------------

      Recent Requests
      ---------------

- Very long file names on Windows.  (Version 6.2?)

- Alter file names upon extraction.

- Control over date-time format in reports.

------------------------------------------------------------------------

      Old Requests
      ------------

- Extract or exclude on basis of UID [Armin Bub, Armin.Bub@bk.bosch.de,
  970904]

- Change DOS -f/-u stuff to use DOS API for getting filetimes, not
  stat().  (Why?)

- Add (-N?) option to lose all user input and/or switch to "(*input)()"
  function, replaceable by UzpAltMain() param

- Add -@ option to read from stdin (zip) or from file (PKZIP)?  (go32
  built-in).

- Add -oo option to overwrite OS/2 and DOS system and hidden files, too.

- Add option to compute MD5 checksum on files and/or on entire zipfile?

- Decide whether to use WinGUI "skipping" diagnostics in extract.c

- Combine "y/n/A/N" query/response stuff into unified section with query
  function(s).  (InputFn?)

- Disable ^V code in remaining mapname() routines.

- Change filename-matching logic so case-insensitive if case-sensitive
  fails?

- Doug Patriarche (doug.patriarche.bvdhp01@nt.com) Northern Telecom
  Canada Ltd.  "I need to do a port of zip/unzip for Wind River Systems'
  VxWorks OS" [GRR:  15 March 95 -> "early June"]

- MSDOS/WIN32/others: detection of "reserved" names (= names of
  character devices, or system extensions that look like a characters
  device driver) at runtime; with the goal of emitting "meaningful"
  error messages and/or rename queries.
  (Currently, these reserved names are catched as "non-deletable files".
  On MSDOS and WIN32, when the RTL stat() function allows to identify
  character devices, the "reserved" names are automatically prefixed
  with an underscore.)

- Redesign "file exists -- is newer/older -- overwrite/skip/rename"
  logic in extract.c and the corresponding system specific mapname()
  services; to prevent superfluous decryption key prompts for entry 
  that will be skipped, later.

- Incorporate new backfill version of inflate().  (Wait for zlib
  version?)

- Add testing of extra fields (if have CRC).

- Rewrite to allow use as a filter.

- Add Unix hard-link support?

- Add ".ini" file support as a (more elaborate) alternative to the
  currently supported preconfiguring abilities via special environment
  variables (UNZIP on many systems...)?

- Add option to search zipfile contents for a string and print the
  results?  ("zipgrep" option--e.g., unzip -g or unzip -S).  Use
  zipgrep?

- Add -y "display symlinks" option to zipinfo?  various sorting options?
  (-St date/time, -Sn name)?

- Add "in-depth" option to zipinfo?  (Check local headers against
  central, etc.  Make it a better debugging tool.  (zip -F[F]?)

- Add "unix-style-path -> partitioned-dataset filename" conversion on
  MVS.

- 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.

- 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.  (A job for Zip?)

- 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?

