stanley@phoenix.com (John Stanley) (11/15/90)
I am using the book "UNIX Communications" from the Waite Group as a
reference for the UUCP software I am running (WAFFLE). I have been able
to find a good UUDECODE (and UUENCODE) from another source (UUPC).
However, I have seen requests on the net, in other groups, about
UUDECODE -- what it does, how to get it, etc. These have usually been
immediately following a post of a UUENCODED file. I have, in the past,
referred these requestors to the book I mentioned, noting that it has the
source for a simple UUDECODE.
I recently decided to enter the code for this version, and little was
I surprised when it did not work on MS-DOS. I have tried several of the
tricks I know to get normal software to run, but this book version of
UUDECODE still gives wrong results. I use TC, and have tried many
variants of options, memory model, etc.
Has anyone gotten this code to run on a PC, and could you pass along
the fix? I am most interested in finding what is wrong with this
particular source, but wouldn't mind getting a file that could be mailed
to people when they ask how to UUDECODE that last post.
Thanks.
<> "Aneth! That's a charming place!" "You've been to Aneth?"
<> "Yes, but not yet." -- The Doctor and Seth, "The Horns of Nimon".
><
<> "Sanity check!" "Sorry, we can't accept it, it's from out of state." - me
w8sdz@vela.acs.oakland.edu (Keith Petersen) (11/15/90)
This is from the SIMTEL20 archives. It's safe to run. I made it from David Kirschbaum's UUD19, which is available with complete source code from SIMTEL20. This BASIC program includes a checksum on each line so the recipient can be confident that it was received without error. Keith -- Keith Petersen Maintainer of SIMTEL20's MSDOS, MISC & CP/M archives [IP address 26.2.0.74] Internet: w8sdz@WSMR-SIMTEL20.Army.Mil or w8sdz@vela.acs.oakland.edu Uucp: uunet!wsmr-simtel20.army.mil!w8sdz BITNET: w8sdz@OAKLAND 100 REM - BASIC PROGRAM TO CREATE UUDECODE.COM (a fast uudecoder) 110 CLS:PRINT "Creating UUDECODE.COM. See UUDECODE.DOC for instructions." 115 OPEN "UUDECODE.COM" AS #1 LEN = 1 120 FIELD #1, 1 AS A$: CHECKSUM#=0 130 FOR I = 1 TO 47 140 LINESUM#=0: LOCATE 2,3: PRINT "Countdown: " 47 - I ; 150 FOR J = 1 TO 16: READ BYTE$: CHECKSUM#=CHECKSUM#+VAL("&H"+BYTE$) 160 LINESUM#=LINESUM#+VAL("&H"+BYTE$) 170 IF (BYTE < 256) THEN LSET A$=CHR$(VAL("&H"+BYTE$)): PUT #1 180 NEXT J 190 READ LINETOT$: LINECHECK# = VAL("&H"+LINETOT$) 200 IF LINECHECK# = LINESUM# THEN GOTO 220 210 LOCATE 4,2: PRINT "Error in line #" ; 260 + 10 * I: GOTO 260 220 NEXT I 230 CLOSE: READ FILETOT$ : FILECHECK# = VAL(FILETOT$) 240 IF CHECKSUM# <> FILECHECK# THEN GOTO 260 250 PRINT: PRINT "UUDECODE.COM created successfully": SYSTEM 260 PRINT: PRINT "UUDECODE.COM is not valid!": END 270 DATA EB,54,90,49,6E,70,75,74,20,66,69,6C,65,20,65,72, 696 280 DATA 72,6F,72,2E, D, A,4F,75,74,70,75,74,20,66,69,6C, 584 290 DATA 65,20,65,72,72,6F,72,2E, D, A,73,74,61,72,74,20, 542 300 DATA 6E,6F,74,20,66,6F,75,6E,64,2E, D, A,45,6E,64,20, 509 310 DATA 6E,6F,74,20,66,6F,75,6E,64,2E, D, A, 0, 0, 0, 0, 3D2 320 DATA 62, 3,62, 3,12, 3,E8,BC, 1,E8,2D, 1,BF,12, 3,E8, 556 330 DATA AA, 0,AD,3D,62,65,75,F4,AD,3D,67,69,75,EE,AD,3D, 7CB 340 DATA 6E,20,75,E8,BF,12, 3,AC,3A,C4,76,FB,AC,3A,C4,75, 7F9 350 DATA FB,AC,3A,C4,76,FB,3A,C4,74, 4,AA,AC,EB,F8,BA,12, 991 360 DATA 3,33,C9,88, D,B4,3C,CD,21,73, 3,E9,E3, 0,A3,4E, 6A5 370 DATA 1,BF,12, 3,E8,65, 0,AC, A,C0,74,48,BB,20,20,2A, 579 380 DATA C3, A,C0,74,3F,32,E4,8B,E8,B9, 4, 6,AC,8A,E0,AC, 84E 390 DATA 8A,D0,2B,C3,D0,E4,D0,E4,D2,E8, A,C4,AA,4D,74,D4, A77 400 DATA 8A,E2,AC,8A,D0,2B,C3,D2,E4,D0,E8,D0,E8, A,C4,AA, AFE 410 DATA 4D,74,C1,8A,E2,AC,2B,C3,8A,CD,D2,E4, A,C4,AA,4D, 95A 420 DATA 75,C7,EB,B0,E8,15, 0,AD,3D,65,6E,75, 5,AC,3C,64, 757 430 DATA 74, 3,E8,AE, 0,E8,61, 0,B4,4C,CD,21,8B,36,50, 1, 656 440 DATA 89,3E,54, 1,BD,50, 0,BF,C2, 2,33,C0,AB,B9,27, 0, 62A 450 DATA B8,20,20,F3,AB,BF,C2, 2,3B,36,52, 1,72, 6,E8,38, 675 460 DATA 0,E8,55, 0,AC,3C,60,75, 4,B0,20,EB, 8,3C, D,74, 57E 470 DATA 1B,3C, A,74,18,AA,4D,75,DF,3B,36,52, 1,72, 3,E8, 559 480 DATA 37, 0,AC,3C, A,75,F2,BF,12, 3,EB,B4,46,89,36,50, 658 490 DATA 1,8B,3E,54, 1,BE,C2, 2,C3,BA,12, 3,8B,CA,87, E, 61D 500 DATA 54, 1,2B,CA,76, A,8B,1E,4E, 1,B4,40,CD,21,72, 1, 517 510 DATA C3,BA,16, 1,B9,14, 0,EB,22,BA,62, 3,B9,9E,FA,8B, 769 520 DATA 1E,4C, 1,B4,3F,CD,21,72, C, B,C0,74, 8,8B,F2, 3, 591 530 DATA C6,A3,52, 1,C3,BA, 3, 1,B9,13, 0,50,E8, A, 0,58, 5A3 540 DATA E9,55,FF,BA,3C, 1,B9,10, 0,BB, 2, 0,B4,40,CD,21, 69C 550 DATA C3,90,54,68,69,73,20,50,72,6F,67,72,61,6D,20,52, 655 560 DATA 65,71,75,69,72,65,73,20,44,4F,53,20,56,65,72,73, 5C4 570 DATA 69,6F,6E,20,32,2E,30,20,6F,72,20,68,69,67,68,65, 51C 580 DATA 72,2E, D, A,24, D, A,49,6E,70,75,74,20,70,61,74, 467 590 DATA 68,2F,66,69,6C,65,3A,20,20,4E,6F,20,61,63,74,69, 52F 600 DATA 6F,6E, D, A,24,B4,30,CD,21,3C, 2,73, C,BA,C2, 2, 525 610 DATA B4, 9,CD,21,B8, 1,4C,CD,21,E8,36, 0,73,23,BA,F5, 701 620 DATA 2,B9,14, 0,BB, 2, 0,B4,40,CD,21,BF,7F, 0,C6, 5, 577 630 DATA 50,8B,D7,B4, A,CD,21,E8,18, 0,73, 5,BA, 9, 3,EB, 687 640 DATA CF,BA,84, 3,B8, 0,3D,CD,21,72, 4,A3,4C, 1,C3,E9, 705 650 DATA 43,FF,BE,80, 0,BF,84, 3,FC,AC, A,C0,74, F,B4,20, 78F 660 DATA AC,3A,C4,76,FB,3A,C4,76, 6,AA,AC,EB,F8,F9,C3,C6, A50 670 DATA 5, 0,F8,C3,55,55,44,45,43,4F,44,45,20,76,31,2E, 503 680 DATA 39, 0,4F,72,69,67,69,6E,61,6C,6C,79,20,62,79,20, 56E 690 DATA 54,68,65,6F,64,6F,72,65,20,41,2E,20,4B,61,6C,64, 565 700 DATA 69,73, 0,54,68,6F,72,6F,75,67,68,6C,79,20,72,65, 608 710 DATA 68,61,63,6B,65,64,20,62,79,20,44,61,76,69,64,20, 583 720 DATA 50,20,4B,69,72,73,63,68,62,61,75,6D,2C,20,54,6F, 588 730 DATA 61,64,20,48,61,6C,6C, 0, 0, 0, 0, 0, 0, 0, 0, 0, 266 740 DATA 76583 UUDECODE.DOC by David Kirschbaum, Toad Hall kirsch@arsocomvax.socom.mil UUDECODE.COM decodes uuencoded files to original binary form. It is compatible with the Unix (and other) uuencode/uudecode utilities. Usage: UUDECODE<RETURN> Prompts for input file name. UUDECODE [d:][\path\]filename.uue Produces a uudecoded file, with the filename taken from within the uuencoded file (which might include a path). Notes: WARNING: UUDECODE does NOT check for existing files, and will gleefully write over them! Check first! UUDECODE will accept an input path\filename up to 80 chars long, and will prompt if none is specified. A uudecoded filename is taken from the uuencoded source file and is written to the current directory (or to the path included in the file header). Input files may be any length. Uuencoded file headers (mailing headers, etc.) need not be removed. However, any spurious lines between the "begin" and "end" lines MUST be removed. Anything beyond the "end" line is ignored. If no "end" is found, the output file is saved, but an error message is displayed. Certain uuencoders append a "checksum" character to the end of each uuencoded line. UUDECODE ignores these. Uuencoded files generated or moved through a Unix system may have LF (ASCII 10) line endings instead of the DOS-convention CR/LF (ASCII 13/10) endings. UUDECODE will handle those LF ends of line as well. You MAY get a "end not found" message, but the uudecoded file will be intact. Certain systems and mailers will strip off trailing spaces on lines. UUDECODE attempts to replace them.
stanley@phoenix.com (John Stanley) (11/16/90)
Problem has been found in the book version of UUDECODE. Thanks to ralphs
at halcyon for a file with Basic, Pascal, and C source for UUDECODE. It
was browsing this file that pointed out the bug in the book.
Also to Keith Peterson for a Basic UUDECODE maker.
For those who have "UNIX Communications" and want to fix their copies,
the bug is a missing "& 0x3f" after every subtraction of ' '.
Again, thanks.
<> "Aneth! That's a charming place!" "You've been to Aneth?"
<> "Yes, but not yet." -- The Doctor and Seth, "The Horns of Nimon".
><
<> "Sanity check!" "Sorry, we can't accept it, it's from out of state." - me
kdq@demott.COM (Kevin D. Quitt) (11/16/90)
I have C versions of UUENCODE and UUDECODE that work both under UNIX and MSDOS. Feel free to email for them. If I get a number of requests, I'll post instead. -- _ Kevin D. Quitt demott!kdq kdq@demott.com DeMott Electronics Co. 14707 Keswick St. Van Nuys, CA 91405-1266 VOICE (818) 988-4975 FAX (818) 997-1190 MODEM (818) 997-4496 PEP last 96.37% of all statistics are made up.