Spherical UUDecode 1.02
(c) 1999 Dominik Deobald <d.deobald@gmx.net>
         Spherical Bytes: http://sbytes.cjb.net


[001] Description                                                 
-----------------
Spherical UUDecode is a simple program to decode files in UUE or Base64-
format, usually used to create textfiles from binaries to transfer them
via news in the internet (or any other net).

I wrote this program, because I needed one that does just decoding but
that supports long filenames. I tried several other tools, which should
do that job, but none of them worked good for me. Some created huge
outputfiles where all small files which should have been created from
several input files were linked together to one big file. Others did not
work because the inputfiles contained mailheaders, too, so the decoder 
was not able to find the coded parts. Just in case you want to know, why
I invented the wheel for the 1378193rd time.


[002] Disclaimer & Copyright                                      
----------------------------
Spherical UUDecode is distributed "AS IS" with no further service or
guarantees implied. You want it, you use it. That's it. I won't help 
you, if you somehow manage to crash your harddisk with this program!

You may use, copy and distribute this program for free as long as you
do not remove my name, do not discompile or change the program-
executable or this textfile. 


[003] Usage
-----------
Nothing fancy here. Just start UUDecode with the files you want to 
decode as parameter. Also, UUDecode does not support more than one 
parameter!

  UUDECODE filespec

Where filespec is something like FILE.UUE, *.UUE or *.* (Yes, you MAY
use wildcarts!).


[004] Known Problems
--------------------
I'm not sure if it is a problem for anyone, but Spherical UUDecode does
not support splitted UUEs or MiMe-Files! I just thought, I should 
mention it.

Input-Files need to comply with DOS-Standard Text ($13$10 as line 
delimiter, not just one of those chars, as often seen on other computer-
systems!)


[005] Updates
-------------
Updates of this software can be found on our Website:

   http://sbytes.cjb.net

By now, I have found another usable UUDecoder, which is called UUDeview.
Though, there does not seem to be a command-line version, so if you use
this, you should continue with this one. If you prefer to control your 
software with mouse, you should check this software out:

     http://www.uni-frankfurt.de/~fp/uudeview/


[006] Appendix
--------------

[00a] What's new?
-----------------
* Bugfix
+ Added or removed function
- General changes

1.00 -> 1.02:   * 04.01.99: Files decoded from UUE-Source always were 64
                            bytes too long. Fixed!


[00b] UUE
---------
You can easily recognize UUE-blocks. They start with a line like this:

begin 666 filename.dat

"begin" is always contained in there.

Then there comes a number. This number is used in UNIX-Systems and holds
the information needed for the system to decide, who is allowed to use 
the created file and who is not. 

This number has absolutely no effect on Windows/DOS-Computers as these 
to not have support for locking out users from files. On UNIX (e.g. 
Linux) this has the same format as the one given with CHMOD-command 
(Rights for owner/group/others).

After that there should come an filename - it might be left out.

After that line there follow lots of lines with the same width, most of 
them beginning with "M" (That "M" gives information about the length of
the following line, which means: 45 Bytes encoded in 60 Characters). 
After that first Char there are the encoded data. Four Chars result in
three Bytes output file.

The UUE-Block ends with an line that contains an "end" right at the 
beginning with nothing else in that line.


[00c] Base64
------------
Base64 is almost the same as UUE. There is just another header (Which
is defined be the Mime-Specs defined in RFC 1521) and there is no length
information at the beginning of each line (which results in smaller 
output files).

The header is something like this:

Content-Type: Application/Octet-stream; name="filename.dat"
Content-Transfer-Encoding: Base64

Spherical UUDecode just needs lines beginning with "Content-", with one
of them containing name="xxxxx" (That's where it gets the filename from)
and a line starting with "Content-Transfer-Encoding: Base64". That's all
(Okay, you got it... I'm too lazy to read all that RFC 1521 stuff, 
because who cares a f**k, if this decoder complies with Mime as long as 
it decodes?)


