home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Datafile PD-CD 5
/
DATAFILE_PDCD5.iso
/
internet
/
starterpck
/
!TCPIPUser
/
NNTP
/
!TTFN
/
Docs
/
uuexplode
< prev
next >
Wrap
Text File
|
1994-10-29
|
4KB
|
108 lines
This is a NEWS uudecoder ported from Unix.
Basically it is a file buffered smart uudecoder: here's the blurb from
the header.
* uuexplode-1.5.c (based on kiss 1.0)
* Author kiss 1.0: Kevin Yang
* Code cleanup and v1.5: Michael Bergman (euambn@eua.ericsson.se)
* Released to the Public Domain, no warranty whatsoever implied.
*
* This C program (UNIX) takes an unlimited number of uuencoded files
* and removes garbage lines. The uuencoded lines are decoded and written
* to specific output files. It is quite verbose as opposed to e.g.
* uuconvert and tells you when things go well and when they don't.
* It can also handle garbage between the `/SPC line and the end line and
* warns if it suspects there is garbage between the last short data line
* and the SPC-line.
*
* New in v 1.3:
* Better format of warning messages, e.g. line numbers provided.
* Bogus space lines in data and at end of a uucode block is handled.
* See details below in ExplodeFile() if you're interested in exactly how
* this is done.
* New is v 1.4:
* Secure option implemented.
* New in v 1.5:
* Changed string and I/O buffer size. 128 char string buffers
* is not enough for long path names in news headers. This made
* the line numbers in warning messages be wrong.
*
* WARNING:
* If there is garbage between the short data line (if any) and the
* SPC-line, the output file *might* be corrupted, but most likely not!
*
* The format of the uucode is assumed to be more or less as described
* in uuencode(5) in the online UNIX manual with some exceptions:
* An M-line can be longer than necessary. Some coders put an extra
* checksum (character) after each line, this is ignored by uuexplode.
* It is assumed though that all lines have the same number of checksum
* chars after them.
* The last data line before end-line can be either SPC\n or `\n
* since SPC is equivalent to ` when decoding (both give 0).
*
* Any char in the range [a-~] is illegal uucode to this program
* until someone has shown that there are COMMONLY used uuencode
* programs that produce correct uucode with small letters in it.
* There are such uuencode, e.g. for the Macintosh(?), which use the
* the range [>-}] by adding 96 to [0-29] and 32 to [30-63].
* Note that this code is transparent to the standard uudecode.
*
* It is assumed that the end line of a uucode-block is in the
* same input file as the corresponding begin and that the parts
* are in correct order (of course).
*
* Some diagnostics mean that the current output file is removed.
* Others leave the output file, but check the input to be sure!
*
* To speed up the file handling, the file I/O buffers are re-set.
* I chose 16 KB because it is 4 whole pages in a SunOS 4.x system.
* The file I/O is by default buffered. If it is not in your system,
* change to setvbuf() instead. This is also the appropriate action
* to take if you don't have setbuffer().
*
It is very quick, and means that one can dump several uuencoded files, including
comments news header comments, into one file and run it through the prog.
To run it simply Filer_boot the app in a desktop file.
All uuencoded files (set to type 7FE) will be then decoded when double-clicked.
Modifications:
Single-Tasking !Squeezed application.
Log file and output automatically goto a rubbish bin, set with an environment variable
"Rubish$dir"
Warning:
Alter uuencoded files
begin 600 <filename>.<ext> to
begin 600 <filename>
------------------------------------------------------------
31st August 1993
Martin Glanvill,
mcg@waikato.ac.nz.
------------------------------------------------------------
29 October 1994
Modified code to generate RiscOS compatible filenames from the "begin"
line. Also changed it to use <Wimp$ScrapDir> for output files.
Robert Orwin (rob@wong.demon.co.uk).