QUUDCD.DOC

(4 KB) Pobierz
This  QUUDCD,  which  is  a  fast uudecoder written in assembly language.
This program will  take  one  or  many  uuencoded  file[s],  and uudecode
it[/them] into  the original  binary file.  The initial input file may be
entered on the command line, or else the program will prompt the user for
it.   Any drive  or path may be specified for the input file, but only to
80 characters  (which should be  more than enough).  IMPORTANT:  If there
is more  than one  portion to  the encoded  file, they must all be in the
same directory, and they  must  follow  a  particular  naming convention,
explained below.   The  output file will be written to the current logged
drive, and this feature cannot be overridden.  There are  no command line
switches.  Usage is:

    QUUDCD [drive][path][filename.ext]

For  multipart  encoded  files,  this  program  will  search for the next
encoded file portion according to these rules:  The first  uuencoded file
may have  any DOS-legal  name and  extension (or even no extension).  The
second uuunecoded file *MUST*  have a  '1' as  the last  character of the
filename -- NOT the extension.  Or, if the last character of the filename
of the first file WAS a number (ANY  number --  whether '1'  or something
else,  the  last  character  of  the  second  filename must be one number
higher.  Subsequent  files  must  have  filenames  ending  in  numbers of
ascending order.  All other filename characters must be the same, and all
files must have the same extension.

Moreover,  this  program  utilizes  a  recursive  technique  to increment
filename numbers,  and is capable of "rolling around" when the last digit
is a '9', and adjusting a  higher  order  digit.    It  is  even  able to
"extend" a  filename, such as from '999.UUE' to '1000.UUE'.  It will not,
however, extend a filename  to  more  than  8  characters  (excluding the
extension).  Probably, the easiest thing to do is to name multipart files
simply by number, such as '1', '2', '3', etc.

Here are some examples of filenames that will work:

    File:      Ex. 1:         Ex. 2:      Ex. 3:    Ex.4:     Ex. 5:
    ----     ----------     ---------     -----     ----    ---------
    1st:     abcdef.uue     file1.uue     14998      999    rstu9.xxx
    2nd:     abcde1.uue     file2.uue     14999     1000    rst10.xxx
    3rd:     abcde2.uue     file3.uue     15000     1001    rst11.xxx
    etc.        ...            ...         ...       ...       ...

Here are a couple that won't:

    File:     Ex. 1:          Ex. 2:
    ----    ----------      ----------
    1st:    abcdef.uu1      file-a.uue
    2nd:    abcdef.uu2      file-b.uue
    3rd:    abcdef.uu3      file-c.uue
    etc.       ...             ...


This program is an "intelligent" program.  It is able to decode uuencoded
files of  any length  (in addition to multiple files, as outlined above),
and even to strip  out spurious  lines in  the main  body of  the encoded
portion.   Thus, it  is possible  to concatenate  multipart postings to a
single file (without removing headers and .signatures), and  this program
will successfully  decode it.  Also, the headers and .signatures need not
be edited out of individual multipart encoded files.   The  encoded files
may have CRLF line end pairs, or just the single UNIX (tm) LF character.

This program  has been  designed to use large buffers, so as not to cause
undue  wear  and  tear  on  disk  drives.    It  also   allocates  memory
dynamically, and  it requires  a maximum  of slightly  more than 64K when
decoding large files.  If you have limited  memory, or  a large  chunk of
memory  dedicated  to  resident  applications,  you might not have enough
memory to run this program.

This is version 2.1, which incorporates several improvements suggested by
David Kirschenbaum (kirsch@braggvax.ARPA).  Also, the 1% of the code that
does 99% of the work has  been tweaked  to make  it even  faster.  Please
note that  there is a Copyright (C) 1988, 1989 on the program by Theodore
A. Kaldis.  The program may be distributed freely, without charge.

UNIX is a trademark of AT&T
Zgłoś jeśli naruszono regulamin