RDROYA01@ULKYVX.BITNET (Robert Royar) (10/27/86)
I have a version of uue/decode that I have been testing and that seems
to avoid some of the problems with the present setup. I added some
code to the original programs to do some error checking. The format
of the files the encoder uses is similar to the current version. If
you have the current version, you can delete the extra information
with your word processor. My version adds the following things:
1. It breaks up long files so that each uuencoded file is no
more than 300 lines long.
2. It places and include directive at the end of each file at
the break so the companion program can reassemble the files
into a program.
3. It adds a key table at the beginning of each file so that
the decoder can index into this table to find the value for
letters in the file. I discovered that the errors I had with
uudecode were often because a mailer had changed each instance
of a character to something else. This solves that problem.
4. It checks the key table for integrity before it decodes the
file. This way if both 'H' and 'Z' have been changed to ' ',
it will exit and tell you.
5. If it finds a letter in the file that was not in the key
table, it issues a warning telling what the character was,
the filename, and the current file position.
6. It appends a 'part' letter (a-z) at the end of each output
line to avoid truncation problems.
This program makes uue/decoding somewhat simpler than it has been
because it breaks the files up into parts automatically and
reassembles them. It actually is smaller and runs faster than the net
version of the program because I used freopen() to cut down on file
pointers and I used register variables where possible. If you are
interested in this program, drop me a line and I will post it to you.
Robert Royar
rdroya01@ulkyvx.bitnet