                            MFUUD version 3.6.0
                          Multiple File UUDecoder

WHAT IS MFUUD?
     MFUUD is a program specifically designed to decode uuencoded files posted
     as usenet articles.  MFUUD can also decode regular uuencoded files as well
     and is intended to replace all uudecoding needs.


                             HOW TO USE MFUUD

MFUUD is simple to use.  The syntax is as follows:

     mfuud [-del] [-quiet] [-dest directory name] [-mode nnn]
          [-plain] [-keywords "keywords"] [-ext] [-err filename]
          file#1...file#n

The text in brackets represent command line options.  (When typing the
options, do not include the brackets.)  The options must be typed in
lowercase and can be abbreviated so long as there is no ambiguity.  Some
of the options require arguments: -temp, -dest, -mode, -keywords, and
-err.  The proper arguments must follow each of these options if they
are used, and the option and argument must be separated by a space
character.

If you do not specify any filenames, then MFUUD will decode from
standard input. If you do specify filenames, you may use the wildcard
(*) character if you like. MFUUD will be expecting message files (i.e.
text files that contain message headers). This is important because
MFUUD will not be able to decode files without the headers intact
(unless you specify the -plain option).  The order of the files you
specify does not matter since MFUUD is "smart" enough to combine files
in the proper order and rebuild the original uuencoded file.  You can
also specify more than one group of files.  MFUUD will combine all
related parts in the proper order to reconstruct each uuencoded file.
MFUUD uses advanced pattern matching and sorting techniques to ensure
proper decoding of files; however, the program is not perfect and can
fail due to errors in the uuencoded files.  This is always the fault of
the poster.

If you have ever decoded files "by hand", then you are no doubt  aware
of the tediousness of the process.  MFUUD decodes files just as a human
would.  It reads the caption or subject line of each message, and
attempts to match messages with similar captions.  Then the program
determines the order of the individual parts. MFUUD also decodes the
messages while stripping all extraneous text.


                           COMMAND LINE OPTIONS

This sections describes in detail the functionality of each MFUUD
option.  The unabbreviated and abbreviated option precedes its
description.

OPTION:  -delete, -del
     This option instructs MFUUD that you wish the uuencoded parts
     specified on the command line be deleted after having been decoded.
     Unlike versions previous to 3.6.0, MFUUD will delete the parts
     whether they were properly decoded or not.  If you wish to preserve
     the uuencoded file segments that were not decoded, you must use the
     -error option.

OPTION:  -quiet, -q
     This option prevents MFUUD from displaying any output.  Error
     messages, however, will still be sent to the standard error device
     (stderr).

OPTION:  -extended, -ext
     This option activates MFUUD's extended search function that finds
     uuencoded file segments that are stored in a single file.  It is
     especially useful if you want to decode a file that contains all
     the message files concatenated into a single file.  Many
     newsreaders will append message files you select to a specified
     file. In order to decode that type of file, you must use the
     following syntax.

                            mfuud -ext filename

OPTION:  -destination, -dest
     This option is used to specify a destination directory for the
     decoded files.  By default, all uudecoded files are written into
     the current directory.

OPTION:  -mode nnn, -m nnn
     This option will override the default file permission of each
     decoded file.  This default file information is contained in the
     uuencoded file and is used to set its file permission when created.
     A three digit octal number must follow the - mode option.  Each
     file created by MFUUD will be set to this specified file mode.
     Consult your operating system manual for more information on file
     modes.

OPTION:  -plain, -p
     If you just want to decode standard uuencoded files (files with no
     message headers), use this option.  MFUUD will behave like
     uudecode, except you can specify one or more uuencoded file
     segments.

                        mfuud -p part1 part2 part3

     In the above example, part1, part2, and part3 are parts of a
     uuencoded file. In addition, MFUUD will remove extraneous text
     while it decodes.

                  mfuud -p Cindy1of1 Steph1of2 Steph2of2

     The above example could produce two files named "cindy.jpg" and
     "steph.jpg". If you specify uuencoded parts, you must ensure that
     they are specified in order.  There is no restriction on how many
     files you can specify.

OPTION:  -directory, -dir
     The -dir option instructs MFUUD to honor the pathnames found on the
     begin lines.  For example:

                  begin 644 /users/usr5/pe0e/pictures.jpg

     By default, MFUUD ignores pathnames and only looks at the basename.
     Only in special circumstances will the poster's tree structure
     agree with yours.  Use this option to override the default.

OPTIONS:  -keywords "key1 key2 ... keyn",  -k "key1 key2 ... keyn"
     This option is useful when you are performing "mass decoding".  See
     the section on mass decoding for more information.  This option
     lets MFUUD know which files to decode.  The keywords you specify
     must be in double quotes, and each must begin with either a "+" or
     a "-".  The "-" preceding a keyword, tells MFUUD to ignore messages
     whose subject line contains this keyword.  Any keyword preceded by
     a "+" are decoded regardless.  For example:

                     mfuud -keywords "-male +female" *

     Specifying this command line will decode all message files in the
     current directory that don't contain the word "male" in the
     captions unless they contain "female", in which case it makes no
     difference as MFUUD will decode it regardless.  MFUUD, when
     scanning for keywords, is not case sensitive so it make no
     difference if the keywords are uppercase or lowercase.  You should
     note that the following syntax will get you undesired results:

                         mfuud -keywords "-male" *

     The keyword "female" also contains the word "male"; therefore,
     mfuud will not decode message files that contain the word "female"
     in the caption.  You can instruct mfuud to be more strict in
     matching keywords by using the "~" character. If you precede and
     end the keyword with a tilde, then MFUUD will match complete words.
     For example:

                        mfuud -keywords "-~male~" *

     If you are searching for specific files then you can use a special
     notation.  If you specify a "-" followed by no keyword than MFUUD
     will ignore all messages.  This is not useful unless you specify at
     lease one keyword preceded by a "+".  For example,

                  mfuud -keywords "- +cindy +crawford" *

     This instructs MFUUD to ignore all messages except those that contain
     "cindy" or "crawford" in their caption.

OPTION:  -error filename, -err filename
     The -error option tells MFUUD to append messages it cannot decode
     due to an error or errors to the filename specified.  The most
     typical error encountered occurs when MFUUD is unable to find all
     the parts of a uuencoded file.  All uncoded messages are stored in
     the specified error file. This file can later be decoded with the
     -ext option.

                       mfuud -ext errorfile newfile

     In the above example, "errorfile" contains the uncoded messages and
     "newfile" contains the parts that were missing.


DECODING FROM STANDARD INPUT
     If you don't specify filenames then MFUUD will assume you want to
     decode from the standard input.  You can use this feature to pipe
     uuencoded files for MFUUD to decode; however, when decoding from
     standard input, MFUUD requires that the files segments it
     encounters be in the proper order.  In addition, MFUUD ignores
     extraneous text.


                               MASS DECODING

Mass decoding, as it pertains to MFUUD, is the process of uudecoding
message files by skipping the intermediate steps.  If you know the
pathname to the directory containing the messages you are interested in,
then you can instruct MFUUD to decode files straight out of this
directory.  I recommend that you create a temporary directory where you
would store the decoded files, especially if you are planning to decode
many files.

                       cd path_to_message_directory
                      mfuud -dest /usr/tmp/pictures *

The temporary directory in this case is /usr/tmp/pictures.  You could
also be in /usr/tmp/pictures and specify the path of the directory you
want to decode from followed by a wildcard.  This may or may not work.
It depends on the length of the path you specify, but in many cases you
will overflow the command line.


                         REMEMBERING DECODED FILES

It is possible when performing mass decoding more than once on the same
directory that files that were already decoded will be decoded again.
To prevent the situation of having duplicate files, MFUUD can store the
names of the decoded files in a log file you specify.  The log file is
specified in an environment variable called MFUUDLOG.

                    setenv MFUUDLOG /users/pe0e/logfile

If while in the process of decoding, MFUUD encounters files that are
listed in the log file, MFUUD will skip these files.  If the file is not
listed in the log file, MFUUD will append the filename.

