
                      +---------------------------+
                      |                           |
                      |  ***  UDEC/UENC 1.2  ***  |
                      |                           |
                      +---------------------------+


  Universal DOS decoding program for UUENCODE,XXENCODE,MPACK(mime),SHIP and
  BINHEX (Mac+Intel) files.

 - UDEC 1.2
   Syntax: udec [-options] [drive:\path\file.ext] [@drive:\path\list.txt]
           wildcards allowed !
           e.g. udec ..\*.uue ..\*.mpk @filelist.txt -c!ans
  Options: -A  gives automatically a filename if given name is not permissible
           -B  surpresses video output while redirecting standard output
           -C  deletes decoded source files (-C!  without confirmation)
           -E  sorts source files by extensions
           -N  sorts by name
           -S  switch off error beeps

 - UDEC 1.1s (limited version for not registered users, after 30-day testing
             period)
   Syntax: udec [-options] drive:\path\file.ext
           wildcards allowed !
           e.g. udec ..\*.* -can
  Options: -A  gives automatically a filename if given name is not permissible
           -B  surpresses video output while redirecting standard output
           -C  deletes decoded source files
           -E  sorts source files by extensions
           -N  sorts by name

 - UENC 1.2 (NEW, for registered users only)
  Universal encoder for UUENCODE,XXENCODE,MPACK(mime) and SHIP.
   Syntax: uenc [-options] [drive:\path\file.ext]
           wildcards allowed !
           e.g. uenc ..\*.zip ..\*.exe -xl64000c!
  Options: -M  MPACK coding (extension .MPK)
           -P  SHIP coding  (extension .SHP)
           -U  UUENCODE coding (default, extension .UUE)
           -X  XXENCODE coding (extension .XXE)
           -Lx  x<8000 : number of rows, otherwise filelength of target file
           -B  surpresses video output while redirecting standard output
           -C  deletes decoded source files (-C!  without confirmation)
           -S  switch off error beeps


  Usage:

  - To decode the file named "mail.txt" simply type "udec mail.txt" at the
    command prompt.
    If wildcards ("*", "?") are used it's possible to sort the files before
    decoding them by using the parameters -E or -N; therefore it is not
    necessary that multiple files are listed in correct order - just make
    sure that they are correctly numbered.
    (Note: if you want to decode more then 10 files at a time by using
    wildcards, the numbering should start with a "0", e. g.
    "file00, file01, ..." rather than "file0, file1, ...")
    2nd note: if a numbering in the file-extension is used, the files will get
    sorted by this value, e.g. "file.01", "file.02",...,"file.99", file.100"..)

 - (NEW, not available in 1.1s)
   Giving more than 1 parameter when invoking UDEC at the command line allows
   you to decode files in different subdirectories in a single pass. UDEC
   handles the files in the order you specify the parameters.

 - (NEW, not available in 1.1s)
   It's now possible to decode files using a textfile containing the file
   names. This is useful if you already use a program that sorts files by
   their subject lines. Consider this example, using a batch file:
     sortdec.bat:   mailsort *.uue > flst_uue.tmp
                    mailsort *.mpk > flst_mpk.tmp
                    udec @flst_*.tmp -ac!s

   Note the "@" character preceding the name of the textfile.
   Usage of wildcards and sorting for these textfiles are possible.
   The option -c deletes the *.tmp files.
   The source files are handled in the order they occur in the textfile,
   sorting is not possible.

   Make sure that the textfiles have one of the following two formats:
    1. Complete filename with path: "drive:\path\name.ext",
       all separated through "<space>,;<linefeed>".
       If you don't specify drive and path for the files, the files must
       reside in the same directory as the textfile.
       Note: lines starting with a blank are ignored.

    2. DOS "dir" format:
       Filename without "drive:\path" at the beginning of the line,
       12 characters long (rest of the line is ignored). <DIR>-lines
       are ignored. The directory the <DIR>-command is displaying in
       the headerlines is used for looking for files.
        Example: dir | sort > filelist
                 udec @filelist

      NOTE: If you're using a "command.com" replacement like, say, 4dos (tm),
            make sure that the "dir" command you're using actually is
            working like the plain MS-DOS "dir". This holds true, obviously,
            if you're working with a MS-DOS emulator on whatever platform...

  Currently under development: a program that sorts source files by the
  subject lines, creates a sorted filelist and decodes the files...

 - If a textfile contains more than one binary file, these will be
   successively decoded.

 - The source files may have DOS format (linefeed 0dh+0ah) or UNIX format
   (linefeed 0ah).

 - The decoder automatically decides what decoding method is appropriate
    - no need to worry about this!

 - Headers are ignored.

 - Invalid linefeeds or missing spaces at the end of a file are ignored.

 - If a new binary starts and the decoder hasn't found the end-of-file
   mark of the previous file, decoding of the previous file is stopped
   (you'll get an error message) and decoding of the new file starts.

 - (NEW, not available in 1.1s)
   If UDEC finds, during decoding, a file with an already existing name,
   it will compare these two files. if both files are identical, one gets
   deleted. if one file is part of the other (that is, if the complete shorter
   file is identical with the beginning of the longer file), the shorter file
   gets deleted. if the files are different, UDEC asks you for a new name,
   giving a default new name.
 - If there's already a file with the name you have chosen, you have following
   options:  * overwrite the old file [Y]
             * delete the new file [N]
             * rename the new file [R]
             * quit decoding [Q]

 - If the decoder finds an invalid filename (e.g. more than 12 characters)
   or you have to rename a new file, you'll get prompted for a new name.
   (Decoding gets interrupted, not stopped).
   (NEW) UDEC will suggest a unique filename that you may accept or modify
   (NEW, not available in 1.1s) As some kind of assistance to find a new name
   for the file, UDEC will display the "subject"-line of the article or the
   e-mail.

 - If you invoke the decoder with the option -A, missing, double or invalid
   filenames automagically are replaced.
   (NEW, not available in 1.1s) If a filename is missing, UDEC uses a given
   name in the subject line.
   (NEW) UDEC replaces extensions
     .jpeg   with .jpg
     .tar.Z  with .taz
     .tar.gz with .tgz
   Feel free to email me if you have other suggestions...

 - If you're using an asterisk ("*") for the filename extension (e. g.
   "udec file.*") .ARJ .ARC .ASM .BAK .BAT .BMP .COM .DLL .EXE .GIF .FOR
   .JPG .LZH .OVL .PAS .PCX .PIF .SYS .TGA .WAV .ZIP .ZOO files aren't
   scanned for coded text.

 - If you're doing a lot of decoding on an already rather full HDD -
   don't worry about running out of disk space: use the switch -C to delete
   files immediately after they are decoded.
   Beware, though: if an error occurs during decoding (e. g. you're
   decoding a file consisting of multiple articles and one is missing)
   this error may be unrecoverable.

 - If UDEC can't repair a line (e.g. a line is too long), you'll get an
   error message with the corresponding linenumber.
   (NEW) If more than 2 lines are damaged, UDEC stops displaying error messages
   but gives you a total of the damaged lines after decoding.

 - (NEW, not available in 1.1s) Option -S suppresses error beeps.

 - (NEW) When redirecting output (e. g. "udec *.* -abc > nul"), the output
   is additionally shown on the screen. Option -B suppresses this.

 - (NEW) UDEC checks decoded UNSHIP files for correct CRC and gives either
   a "CRC ok" or a "CRC FAULT !!!"

 - (NEW) UU/XXDECODE and MUNPACK routines written in assembler
   (about 15% faster).


Notes:

 - With the exception of UNSHIP (see above), UDEC doesn't check (CRC, checksum)
   if the decoded files are correct or not.

 - If you have troubles during encoding/decoding , like system crashes or
   no or faulty decoding, while other decoders seem to work flawless,
   please send me the offending file(s) via e-mail or on a 3.5" disk via
   mail and a short description of the errors you're getting.
   You'll get a new version via e-mail as soon as I have eliminated
   the bug(s); if you're a registered user without an e-mail address,
   you'll receive a new version via mail.


Warranty:

  - This program is provided as is with no written or implied warranty.

  - The author shall in no event be held liable to you or anyone else
    for any damage of any kind, incidental or consequential, arising
    from the use or the inability to use this program.

 Old freeware versions of UDEC:
 - Any private distribution of these versions, be it in mailboxes or on
   ftp servers, is not restricted in any way.
 - Distribution with PD/Freeware/Shareware packages on disk or CD-ROM
   is resctricted in so far as you have to send me a free copy.
   Please contact me via email!

 Shareware versions:
 - Unrestricted distribution and publication
 - After a testing period of 30 days these versions will transform themselves
   into UDEC 1.1s (minus a couple of bugs, plus a few new features),
   which you can use without restrictions.
 - Registration fee is 25.- DM or 20 $ US. See the file REGISTER.TXT .


 You'll find the latest version of UDEC on the anonymous ftp-server
 sunshine.informatik.uni-wuerzburg.de (132.187.10.1) in /pub/peter


 Bug reports, suggestions and comments are appreciated. Feel free to email to

    Peter Liebel                       liebel@cip.informatik.uni-wuerzburg.de
    Friedhofstr.17                     liebel@informatik.uni-wuerzburg.de
    97526  Sennfeld  (Germany)
