[comp.os.cpm] Problems with the Pascal UUDECODER

RALPH@UHHEPG.BITNET (12/12/87)

Date: 12-DEC-1987 00:43:27.18
From: Ralph Becker-Szendy RALPH AT UHHEPG
To:   GATEWAY::"info-cpm@simtel20.arpa",RALPH
Subj: Problems with the Pascal UUDECODER
Hi

I have a little problem: I suspect the standard cp/m UUDECODEr had a bug.

Here is the story: When i request a binary file (LBR, squeezed or suchlike)
from the BITNET server at RPI i have to request it as UUENCODED (because our
mail handler munches every binary file), and even then all the (up-arrow) are
converted into ^(twiddle). So, i transfer the UUENCODED file to the cp/m micro,
and run it through the regular UUDECODER (made from
PD:<CPM.STARTER-KIT>UUDECODE.HEX or .PAS, from SIMTEL20 or the server at RPI).

Unfortunately, the UUDECODER doesn't like the file: he complains about the
second to last line being too short (in 80% of the cases). Here an example:
M56<')',8<%.%1QT% "X$]#0&\C$#$#0#D#296#4&0'D5%%64$-?T#D#(#-/M
MVP@!H) "(0 V+!H:&AH:&AH:&AH:&AH:&AH:&AH:&AH:&AH:&AH:&AH:&AH:M
3&AH:&AH:&AH:&AH:&AH:&AH:&@M  <----- this line is (supposedly) too short
 M
end

And, even worse, in the rare case that UUDECODE doesn't complain about such a
line being too short, sometimes the output file is wrong (like several
characters missing). But, miracle, some files get through without any problem.

On the other hand, i am sure that the uuencoded files did NOT get munched
on the way to the micro (test: transmit it back, and compare).

I have tested this with more than 30 files, and after a while it is no fun any
more. So, the question is: does this UUDECODEr have a known bug, am i making a
mistake, or what ? Maybe the UUENCODER used by the server is wrong (but that
sounds VERY improbable).

Any help is appreciated. As usual: if i get enough answers, i'll summarize
then to the net.

Ralph Becker-Szendy                                     RALPH@UHHEPG.BITNET
University of Hawaii / High Energy Physics Group              (808)948-7391
Watanabe Hall #203, 2505 Correa Road, Honolulu, HI 96822
"Hawaii - it's not just for tourists. People actually live and work there."

FISHER@CICGE.RPI.EDU ("John S. Fisher") (12/14/87)

The Pascal UUDECODE appears to be in complete agreement with all
of the other UUDECODE programs I've been able to compare it to.
The problem is being generated by the uuencoder used by the Bitnet
file server.

Apparently, the (correct) uuencoders always construct encoded data
that is a multiple of 4 bytes (which becomes 3 bytes when decoded).
The encoder used by my server encodes only the exact number needed.
Some, if not all, of the standard decoders depend on finding a
multiple of 4 bytes, thus the error.

At any rate, I'll repair my uuencoder as soon as possible.  However,
if you take any of the files you have that are a problem and replace
the trailing "M" in the problem line with "   M" (3 spaces and "M")
you should be able to circumvent the error.

Regards,
JSFisher