🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: net.micro.atari
Article #1662

Re: uuENcode.c for the ST. Source. Long

#1662
From: D'arc Angel
Date: Tue, 03 Dec 1985 14:34
615 lines
25601 bytes
> 
> 	Here is a version of uuencode that will run on the ST when
> compiled with the DRI-C compiler. 

~~~~~~~~~~~~~easy lineater, good lineater~~~~~~~~~~~~~~~

for the alcyon C compiler a further hack was necessary, fopen and
fopenb must be declared as FILE *. Here is both uuencode.c and
uudecode.c plus the encoded version of jim's bouncing ball demo.

~~~~~~~~~~~~~~~~~~~~~~~UUENCODE.C~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/*
 *       The only portion that had to be modified was the part of the
 * code used to open a file. The original file used efopen() which then
 * called fopen(). I had to modify it to fopenb() to open binary files.
 *       The source follows. Link it with osbind.
 */

/*
 *
 * Uuencode -- encode a file so that it's printable ascii, short lines
 *
 * Slightly modified from a version posted to net.sources a while back,
 * and suitable for compilation on the IBM PC
 *
 */

/*
 * Modified for the Atari 520ST  (October 27, 1985)
 */

#include <stdio.h>
#include <osbind.h>

char *progname = "UUENCODE";

#define USAGE "Usage: UUENCODE file [>outfile]\n"

/* ENC is the basic 1 character encoding function to make a char printing */
#define ENC(c) (((c) & 077) + ' ')

FILE *in, *out, *efopen(), *efopenb(), *fopen(), *fopenb();

main(argc, argv)
        int argc; char *argv[];
        {

        if (argc < 2) {
                fprintf(stderr, USAGE);
                exit(2);
                }
        in = efopenb(argv[1], "r");
        if (argc == 3) {
           out = efopen(argv[2], "w");
        }
        else out = stdout;
        fprintf(out, "begin %o %s\n", 0777, argv[1]);
        encode(in, out);
        fprintf(out, "end\n");
        }

/*
 * copy from in to out, encoding as you go along.
 */

encode(in, out)
        FILE *in, *out;
        {
        char buf[80];
        int i, n;
        for (;;) {
                n = fr(in, buf, 45);
                putc(ENC(n), out);
                for (i=0; i<n; i += 3)
                      outdec(&buf[i], out);
                putc('\n', out);
                if (n <= 0)
                        break;
                }
        }

/*
 * output one group of 3 bytes, pointed at by p, on file f.
 */

outdec(p, f)
        char *p; FILE *f;
        {
        int c1, c2, c3, c4;
        c1 = *p >> 2;
        c2 = (*p << 4) & 060 | (p[1] >> 4) & 017;
        c3 = (p[1] << 2) & 074 | (p[2] >> 6) & 03;
        c4 = p[2] & 077;
        putc(ENC(c1), f);
        putc(ENC(c2), f);
        putc(ENC(c3), f);
        putc(ENC(c4), f);
        }

/* fr: like read but stdio */

int fr(fd, buf, cnt)
        FILE *fd; char *buf; int cnt;
        {
        int c, i;
        for (i = 0; i < cnt; i++) {
                c = getc(fd);
                if (c == EOF)
                        return(i);
                buf[i] = c;
                }
        return (cnt);
        }


FILE *
efopen(fn, mode)
        char *fn, *mode;
        {
        FILE *unit;
        if ((unit = fopen(fn, mode)) == NULL)
                error("Cannot open file %s", fn);
        else
                return unit;
        }

extern char *progname;

error(s1, s2)
        char *s1, *s2;
        {
        fprintf(stderr, "%s: ", progname);
        fprintf(stderr, s1, s2);
        exit(1);
        }


/* 
 * efopenb is a slightly modified efopen()
 * All it does is use the ST fopenb() call to open
 * a binary file.
 * Note that this is uuencode so only the input file
 * needs to be opened with this function.
 */

FILE *
efopenb(fn, mode)
        char *fn, *mode;
        {
        FILE *unit;
        if ((unit = fopenb(fn, mode)) == NULL)
                error("Cannot open file %s", fn);
        else
                return unit;
        }


~~~~~~~~~~~~~~~~~~~~~~~~~~~UUDECODE.C~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

/*
 * Uudecode -- decode a uuencoded file back to binary form.
 *
 * Slightly modified from a version posted to net.sources once;
 * suitable for compilation on an IBM PC.
 *
 */

#include <stdio.h>
#include <osbind.h>

char *Progname = "UUDECODE";

#define USAGE "Usage: UUDECODE [file]\n"

/* single character decode */
#define DEC(c)  (((c) - ' ') & 077)

FILE *in, *out, *efopen(), *efopenb(), *fopen(), *fopenb();

main(argc, argv)
        int argc; char *argv[];
        {
        
        int mode;
        char dest[128];
        char buf[80];
        /* optional input arg */
        if (argc > 1) {
                in = efopen(argv[1], "r");
                argv++; argc--;
                }
        else
                in = stdin;
        if (argc != 1) {
                fprintf(stderr, USAGE);
                exit(2);
                }
        /* search for header line */
        for (;;) {
                if (fgets(buf, sizeof buf, in) == NULL) {
                        fprintf(stderr, "No begin line\n");
                        exit(3);
                        }
                if (strncmp(buf, "begin ", 6) == 0)
                        break;
                }
        sscanf(buf, "begin %o %s", &mode, dest);
        out = efopenb(dest, "w");  /* create output file */
        decode(in, out);
        fclose(out);
        if (fgets(buf, sizeof buf, in) == NULL || strcmp(buf, "end\n")) {
                fprintf(stderr, "No end line\n");
                exit(5);
                }
        }

/*
 * copy from in to out, decoding as you go along.
 */

decode(in, out)
        FILE *in, *out;
        {
        char buf[80];
        char *bp;
        int n;
        for (;;) {
                if (fgets(buf, sizeof buf, in) == NULL) {
                        fprintf(stderr, "Short file\n");
                        break;
                        }
                n = DEC(buf[0]);
                if (n <= 0)
                        break;
                bp = &buf[1];
                while (n > 0) {
                        outdec(bp, out, n);
                        bp += 4;
                        n -= 3;
                        }
                }
        }

/*
 * output a group of 3 bytes (4 input characters).
 * the input chars are pointed to by p, they are to
 * be output to file f.  n is used to tell us not to
 * output all of them at the end of the file.
 */

outdec(p, f, n)
        char *p; FILE *f; int n;
        {
        int c1, c2, c3;
        c1 = DEC(*p) << 2 | DEC(p[1]) >> 4;
        c2 = DEC(p[1]) << 4 | DEC(p[2]) >> 2;
        c3 = DEC(p[2]) << 6 | DEC(p[3]);
        if (n >= 1)
                putc(c1, f);
        if (n >= 2)
                putc(c2, f);
        if (n >= 3)
                putc(c3, f);
        }


/* fr: like read but stdio */

int fr(fd, buf, cnt)
        FILE *fd; char *buf; int cnt;
        {
        int c, i;
        for (i = 0; i < cnt; i++) {
                c = getc(fd);
                if (c == EOF)
                        return(i);
                buf[i] = c;
                }
        return (cnt);
        }

/* If your library already has this function, use it and nuke the code below */

#ifdef noindex
/*
 * Return the ptr in sp at which the character c appears;
 * NULL if not found
 */

char *index(sp, c)
        register char *sp, c;
        {
        do {
                if (*sp == c)
                        return(sp);
                } while (*sp++);
        return(NULL);
        }
#endif


/* Open a file, aborting on failure */

/* Written by Bernie Roehl, June 1985 */

FILE *
efopen(fn, mode)
        char *fn, *mode;
        {
        FILE *unit;
        if ((unit = fopen(fn, mode)) == NULL)
                error("Cannot open file %s", fn);
        else
                return unit;
        }

extern char *Progname;

error(s1, s2)
        char *s1, *s2;
        {
        fprintf(stderr, "%s: ", Progname);
        fprintf(stderr, s1, s2);
        exit(1);
        }



/* 
 * efopenb is a slightly modified efopen()
 * All it does is use the ST fopenb() call to open
 * a binary file.
 * Note that this is uuencode so only the input file
 * needs to be opened with this function.
 */

FILE *
efopenb(fn, mode)
        char *fn, *mode;
        {
        FILE *unit;
        if ((unit = fopenb(fn, mode)) == NULL)
                error("Cannot open file %s", fn);
        else
                return unit;
        }
~~~~~~~~~~~~~~~~BOINK.UUE use uudecode on it~~~~~~~~~~~~~~~~~~~~~~~~
begin 777 C:BOINK.PRG
M8!H   CJ   8K  "8(P   K&             $*G/SP ($Y!(\   "&X7(\_
M/  2/SP !#\\  -.35R//SP !$Y.5(\SP   (;RP?  "9P "HB \  (%(D( 
M(\   "'N/SP  DY.6(\CP   (?(CP   (;Y"04/Y   APDCG0$ _//__/P$_
M/  '3DY<CTS? @(RP%)!LGP $&W@</]"9R\ +P _/  %3D[>_  ,80 &]"/\
M   #9   (>(S_      AYC/\  (  "'H,_S__P  (>Q">0  (>I!^0#_@D P
M_ $B,/P =C#\ 2(P_ !$4?D  "&R(_D   !P   AM"/\   "^@   '!A  3>
M(_P %      AEB/\  @     (9HC_  5     "&>(_P "      AHB/\  $ 
M    (:8C_        "&J(_P  "     AKC\\  (_/  !3DU83TJ 9@ !6C Y
M   AEM!\ !PR.0  (9I0030\ %]A  0B,#D  "&6,CD  "&:-#P 7V$  Z(@
M.0  (9XB.0  (:+0N0  (::PO     !L.'  1+D  "&F1'D  "'H0?D   -D
M-"@  #8H  HQ0P  ,4, &#%"  HQ0@ B2.?  &$ !Q9,WP #L+P R@  ;SP@
M/ #*  !$N0  (:9$>0  (>A!^0   V0T*   -B@ "C%#   Q0P 8,4( "C%"
M ")(Y\  80 &TDS?  ,D.0  (:[5N0  (:K2N0  (:JRO  $  !L#"(\  0 
M $2Y   AJK*\ %\  &\@DKP 7P  1('2O !?  !$N0  (:I(Y\  80 &?$S?
M  ,C^0  (9X  "&6(_D  "&B   AFB/    AGB/!   AHDA T'P '$A!4$%A
M  3(,#D  "&>,CD  "&B80 $>&$  B)@ /Z8(_D  "&T    <#\Y   AO"\Y
M   AOB\Y   AOC\\  5.3M[\  Q(>0  (<(_/  &3DY<CTAY   #7#\\  8_
M/  93DY0CR\Y   AN#\\ "!.05R/0F=.04CG__XP.0  (>S1>0  (>ID/B!Y
M   AXC Y   AYC(Y   AZ-# 0_D _X)((M@BV"+8(M@BV"+8T$%L!C \ !9@
M"+!\ !9O D) ,\   "'F4/D  "&R3-]__R\Y   AM$YU" L! 1 '   '9@=W
M!W<'=P=W!W<'  < !P '  < !P '9@=W!W<'=P=W!W<'  < !P '  < !P!'
M^0   YHV&FM:T,/2PR(:PY$D&(69PY$D&(69-!I.^R "(M@BV"+8(M@BV"+8
M(M@BV"+8(M@BV"+8(M@BV"+8(M@BV"+8(M@BV"+8(M@BV"+8(AK#D208A9G#
MD208A9G2P$[33G5^_T?Y   $ C8::_+3PR(:1D&#45")-!I.^R ",H=0B3*'
M4(DRAU"),H=0B3*'4(DRAU"),H=0B3*'4(DRAU"),H=0B3*'4(DRAU")(AI&
M08-10_$ "$[33G'2P$[3.$@F2#X;CEN.6XY;9_91BR8+EHPTPT9'-,<TQ]# 
M*$@^)(YDCF2.9&?V* Q0C)B+Y$PT^T 6M\QG!D9'-,<TQU')_\ T_/__3G4 
M/@ P "P *  D "  '  8 !0 $  ,  @ !   2.?__C\\__\O.0  (>XO.0  
M(?(_/  %3D[>_  ,< !1^0  (;)2@$HY   ALF?VL+D   C.8P8CP   ",X@
M.0  (>XC^0  (?(  "'N(\   "'R3-]__TYU-CP H,/#-@#B2,!\__C002)Y
M   A[M+ 0?D  >3BY$#0P# \ !8R/ !8=@ RV"+#,L,RV"+#,L,RV"+#,L,R
MV"+#,L,RV"+#,L,RV"+#,L,RV"+#,L,RV"+#,L,RV"+#,L/0P-+!4<K_Q$YU
M-CP H,/#-@#B2,!\__C002)Y   A[D/Q  (R/ !@=@ R@U"),H-0B3*#4(DR
M@U"),H-0B3*#4(DR@U"),H-0B3*#TL%1RO_:3G4P/ ?/0?D  >3B0IA1R/_\
M,#P *#(\ !8T/  !-CP FS@#/#P $#X\  9A  #\T$8Z/  -80  MM!&.CP 
M&V$  *S01E'/_^IA  #>T$8P/  H,CP %C0\ /$V/  !. (\/  ./CP !&$ 
M +[21CH\ !]A/-)&.CP #V$TTD91S__N80  I-)&0_D   B@(WD  "'N "!A
M  &\80#^5$/Y   (H"-Y   A[@ @8  !IDCG_  V/  !F$5M(C0%86C0130\
M !U60%=$;@170%9$F'P '6T(85#0?  =8.C8?  =- 1A0DS? #].=4CG_  T
M/  !F$5M(C8%82S2138\ !E605=$;@17059$F'P &6T(8132?  98.C8?  9
M-@1A!DS? #].=4/Y   (<C-  !PS00 >,T(  #-#  )@  $4POP H#0 XDC 
M?/_XT$$B>0  (>[2P,1\  _E2D'Y   B0B!P( !%^0  (H(D<B  ,#P 8+1\
M "1O E% 8 #\1L+\ * T .)(P'S_^-!!(GD  "'N0_$  L1\  _E2D7Y   B
M@B1R(  P/ !@M'P )&\"44!@ /QT1_D  ")"2?D  "*"0?D   CJ1?D  9S"
M,#P 0#(\ %\FR"C*86;4_ 2"0_D   A$0?D  "+",T  )CP\  $^/  ()L@H
MRC-& !PC2  @84IA.E)&T/P8 -3\!()1S__D,#P 2#-  "8^/  %)L@HRC-&
M !PC2  @82!A$%)&T/P; -3\!()1S__D3G5(Y__^80#\/DS??_].=4CG__XP
M/ !+3?D  "'V'-E1R/_\3?D  "'VH =,WW__3G4 =@!@  0      P,# P  
M      CJ  @ 0  "        (L( " !   (            !      \/#P\ 
M      'DX@ " "@          >3B  ( *         %  ,@ !  !  $    #
M       !Y.(  @ H          >    ( *   @          +SP  "$J8 8O
M/   (6 _/  @3DY<3TYU                                _ ?L$./P
M'^_^  '  <#^                                                
M        '0 < !P  ^%YX/L?_/_[@#R >G_^__@                     
M                                !]\'SP?  #\;W ?#____P.]"WSC_
M^3\'                                                     #WQ
M// \#P/_SW,_#____P"Y$X#QA_!X#P  P #  (                      
M                      #KG@>!X'___WO.^#[__O@!<B4.XP'@_Q\P $  
M\ #0                                   #  (  0 #KF-B'_W_X__?
M.<#X__C !\Q-/#,#\/__^ "L 'P Y                               
M    #@ )  < #]F/Q____\!_?.,#X/_@ !^8S7@]!_[__9  MP!] /,     
M                             !T $P / !\R/0X$_@<!_/./#X#_@ !_
M,9GP> ____BIP%H _L Y@                                 !V $X 
M/P!^Y&,<'_P  __.'CX!_@ !_W.9\'@/___XI?!D@.>P'&              
M                   !V0&X '\!^)C'>#_X  ?_G'F,!WP \__C,^#P'___
M\"4TXTC@W!^X                                 [<"< '_ _ CC^!_
MX  ?_SCS!@_^ /__QC/!\#____ BO>&"X'<?_@                      
M          [,#<,#_P_ QQ[ _L !/_]QYP_?_\#__XYS@?!____P(I7AC.!_
M'_U  (  P "                        ]N3.'#_\_@(X\@?R  W__X\\?
MQ__X_\<<8P/@____X"+=X<3@/Q_\H "P )  <                       
M]F;.'C_^_@$X^0?X  ?__\>./X'___^ /.,#X/___^ R2O'&\#\/_M  6 #(
M #@              0 !     =S,/#S__/P#<>,/X  ?__^''G\!____ 'C'
M]\#__P_ ,VWPX_ ?#_]8  0 S  \              ,  0 #  "SF'!X__CP
M!^/''\  /___#SS_ ____P!QQO'!\?\/P#-E\./P'P__;  J .8 '@      
M       #  $  P  9F,!X!_@X!_'CS^  '___QYX_@?___X \<;P(? ?#^ Q
M=O#Q\ \/_[0 E@#R (X             !P #  <  $S'/\ #P/P_#Q[_ 0#_
M__\\</P/___\ ..&X'W@ Q_\,3+P\? /#_]: ,L ^0#'              X 
M!@ .  ')CC@!!X#__QX\_@,!____>/'X#___^ #CCN!^X $?_S&[<'CP!X__
M50#-@/R PX             =  0 '  #F9QX<P?P__\\>/P' _____'A\!__
M__  QPS _, #/_\QN0AX^ ?__RF Y,#\0./             &P ( !@ !S,<
M\/P/___\>?#X#P?____AP^ ____@ ,<<P/S  S__<9T/?/\#__^NP&(@_F#A
MX            #L &  X  =F/.'\'____/'A$!_O_Q__X\?@/___X "/'(#\
M@ -__V&<'YS_X_^?E6!S$/\P\/            !V !$ <  /9CCA^!____CC
MPQX___\!_\>'P'___\  #AP!_  #__]AG!^"____@=JP.8C_F/AX        
M    ;  C &  '\QQP_ ____PXX<?O_^_ '^/#X#___^  !XX ?@ !___89P?
M@____X#+6/C4_\PX/            ,T 0P#  #^8\8?P?___\,>//X?_AP!_
M#@X!_O_^  $<. /X  ?__^.<'X/___^ S5C$S,?$/#P           '9 $<!
MP  _F..'X'___^#/#C\!_P  _QX> ?[__@ !/'@#^  '___CG!^#____@,VL
MPV+ YC\>           !LP"/ 8  ?S''#\#____ CQY_ ?\  /\\'//\#_SP
M SQX _@ !___XYP?@____X#-ML.!P',__P           R8!'@,! /]QQP_ 
M____P!X<_@/^  '_/#S\_ /\_P-X< ?P  ___\.</X/___^ S+?#C,!_/_T 
M (  @ "   9D AP& P'_XX\?@/___X <//P#_  #_W@X^#@'^/_'>/$'\  /
M___#G#^#____@,35P\W /S_\        @  .S (\#@,!_\../X'___^ /'C\
M!_P  _]X>/@$!_S___#Q#_  #___PQP_ ____P#&V\'&P#\__H  @ "  $  
M#9D$> P' __''#\#____ #AX^ ?X  ?_\'#P#P_____Q\8_P@ ___\,</P/_
M__\ QMO!QL _/_Z  (  @ !  !FS"' 8#P?_CAQ^ ____@!X\/@/^  '__#Q
M\ \/____\>'WX/@?]__#'#\#____ ,;;P<; /S_^@ "  (  0  ;,Q3P# \?
M_PXX_@?___X </'P#_  #__@X> ?'____^'CX.#_'^#_AQQ_ ____P#FRN'&
MX#\?_@  @ "  $  &V<78 ^?'W\<>/P'___\ /'A\!_P  __X>/@'Q_____C
MX^  ___@'X<<?P/___\ YDSAPN _'_[  $  P  @  MF!QD?_Q\'&''X#___
M^ #AX^ ?X  ?_\'#P#\_____P\/ /O__P &'''\#____ .9MX>/@'Q__P ! 
M ,  (  R9BX>'_X^ 3CA^!____@ P\/ /\  /__#P\ _/____\?'P#___\  
MAQR_ [__?P#F;>'CX!\?_X  0 #  "  -L8N/A_^/@$PXQ ?'__P ,?'P#_ 
M #__PX? ?S____^'AX!___^   <<!P,'__\ YFWAX^ ?'_]@ "  X  0 #;,
M+CP?_#X#<<,,/P/__ "'AX!_@ !__X>'@']_____AX^ ?___@  /'  # /__
M .-EX./@'Q__8  @ .  $  VS"X\'_P^ V'''_\ /__ CX^ ?X  ?_^'AX!_
M?____P^/ '___P  #AP!XP ?_^#C9N#AX!\?_\  H #@ )  %LP./#_\/@-C
MAQ^' '__^ \/ /\  /__#P\ ______\/#@#^__X  0X\ ?T  __^XR;@X> ?
M'__  *  X "0 !7,##P__#P#8X\?@ !___\?'X#_@ #__P\/ /______#QX 
M_O_^  $>. 'X  ?__^,V(/'@#]__L "0 /  B !EG%Q\/_Q\ ^..'X$ ?___
M'A[Q_O !__\>'@'^_____A\> /[__@ !'#@#^  '___C,ASQ_ ___Z  D #P
M (@ ;9A<>#_X? ?#CC^! '___SX^__[^ ?__'AX!_O____X>' '\__P  SQY
M _@ !___QS,_</^/_W\@ )  \ "( "V8''A_^'P'QQX_ 0#___\\//P\_\/\
M/SP< _S____\/CP!_/_\  ,\<0/P  ___\8S/@#___X/8 #0 /  R  IF!AX
M?_AX!\<</P, ____/#S\ /___ ,\/ /\_____#P\ _S__  #.'$'\  /___&
M,SX.___^ 5  R #X ,0 *QD8^'_X> ?''#\# /___WQ\_ /___P >#B'^/__
M?_@\> /X__@ !WCS!_  #___QF,^'____@!0  @ . #$ "LQ&/!_\'@/ASQ_
M P#___]X>/@'___X 'AX]_C__P_X?'@#^/_X  =XXP?@ !___XYG?A____X 
M4  T  P _ #+,;CP?_#X#XXX?@<!____>'CX!___^ #X</CP^/\'\'AX!_C_
M^  '<.,/X  ?__^,9GP>__[\ =  -  , /P VS&X\'_P^ ^..'X' ?____#P
M\ ____  \'#P$/ ?#_#X\ ?P__  #_'C#^  '___C&9\'O_^_ '8 #0 # #\
M %<S,/#_\/ /#CC^!P'____P\? /___P /#P\ SP P_\\/ /\/_P  _QYP_@
M !___XQF?![__OP!H !H !@ ^ !6<S'P__#P#QYX_@<!____\/'P#___\ #@
MX. ?X  ?__'QC_!_\( /X<<?P  ___\<QOP^__[\ :  :  8 /@ 5F/1X-_@
M,!\<</P/ ____^'AX!___^  X>'@'^  '__QX?_@#^#P'^/''\  /___&,SX
M//_\^ .@ &@ & #X #9C;>!CX!P?'''\#P/____AX^ ?___@ .'!X#_@ !__
MX>'@X!_@_Q_CSQ_  #___QC-^#S__/@#H !H !@ ^  F9FXA8> ?WQSQ_ \#
M____X>/@'___X ##P\ _P  __^/CX! ?\/__PXX_@0!___\8S?@\__SX [  
M:  8 /@ *F9F&6'X'_\\X?P? ____\/#P#___\  P\/ /\  /__#P\ \/_S_
M_\>./X$ ?___.8WX?/_\^ .P &@ & #X &LF)QY@_Q_^../X'P?____#Q\ _
M___  ,>'P'_  #__Q\? /S____^'CO^!@'___S&=\'S__/ #0 #0 #  \  ;
M-C<.,/\/_CGC&!_G_Q__@X> ?___@ "'AX!_@ !__X>'@']_____CQZ/ ?#_
MC_\QF_!X__CP!T  T  P /  &S8W#C#_#_XYPP8___\!_X>/@'___X  CX^ 
M?X  ?_^/CX!_?____X\<@ /__X#_,9OP>/_X\ =@ -  , #P #4V$PXP_P_^
M.<<'____ #^'CX!___^   \/ /\  /__#P\ ______\./ 'C__\ 'W&;\'C_
M^/ '8 #0 #  \  5LQ./$'\/_SG'!\?_QP _!P\ ____   ?#P#_  #__Q\?
M /______'C@!^?_Y  =C&^#X__C@!V  T  P /  #;,;CQA_!_\YQP? _\  
M/P\? /___P  'AX!_@ !__\>'@'^_____AQX _C_^  'XS,@\#_PX ]@ -  
M, #P !V3"X\8?P?_.<<'P/_  #\.'O'^#_[P 3X> ?X  ?__'CP!_/____P\
M< /P__  #\,V./$'\/@/@ "@ &  X  9FPN'&'\'_SG'!\#_P  _#C[__@'^
M_@$\/ /\  /__SP\ _S____\>/$'\/_P  _&-CYQ ?#_C\  H !@ .  "IL)
MAPA_!_\YQP? _\  /QX\_CP!_/_#?#P#_  #__\\> /X____^''C#^#_X  ?
MAF9^$0'P___  *  8 #@  [;!<<,/P/_&<<'P/_  #\<//P  _S__WAX!_@ 
M!___>'@'^/____CQPP_ _\  /XQL?!T#_O_]P "@ &  X  .VP7'##\#_QG&
M!\'_P  _''S\ P/___]X>(?X@ ?__WCP!_#____PX\<?P/_  #\8S?@\!___
M_(  @ "  $  #ML%QPP_ _\9Q@?!_\  /QQX_ <#____>/#_\/@/___P\0_P
M____\,../X'_@ !_&9GX> ?___B  (  @ !   5)!,<$/P/_&<8'P?_  #\<
M>/P' _____#P\/#_#_#_\>$/X/___^#'CC^!_X  ?S$S\/$/___P        
M@  ';0+C!A\!_YG.A\'_P( _&'#X#P?____QX?  ___P'^'#'\#____ AQQ_
M _\  /]C)N#B'_[_X0           VT"XP(? ?^9SH?!_\" /SCQ^ \'____
MX<'@./__X ?CQQ_ ____P(\<?P/_  #_9FSAY!_\_^(           &M *,!
MWP&_F<Z'P?_ @#\X\?@/!____^/#X#___^  PX>_@/__?X >./X'_@ !_\3,
MP\0__/_"            U0!+ /\ QYG.A\'_P( _..'X'P?____#@\!____ 
M (>.AX&'_W^ '''\#_P  __,F,.(/_C_A            %8 #@!^ $&9SH?!
M_\" /S#C\!\/____QX? ?___P "/#H !@/]_ #QS_ _\  /_F;"'D'_P_X@ 
M          !J "8 ?@!AV<PGPQ_ X#\QP_ _#____X</@/___X  'AP!XP ?
M_^ XX_@?^  '_S-P#S#_\/\(            -0 3 #\ ,$G,.<,'P/X_<<?P
M/P____^/'H#^__Z  3PX _D !__^><?X/_@ !_\V8 X@_^#^$           
M !L "0 ? !BMS)P#@\!__W''\#\/____'AP!_/_\  ,X< ?P  ____'.,#[P
M <__9L >0/_ _B             ,  4 #P ,I,R<.X/X?_]AA^!_'____QP\
M _S__  #>.$'X  ?___CC!A\^ /__\W /,#_P/P@            !0    < 
M!%;DSAS!_S_\8XY@?I__?_X\> /X__@ !_'##\  /___QQP_?/^#_W^;@'F 
M_X#X0             (    #  +B9&X<X?\?_&,.$/[__P_^.'$'\/_P  _C
MAQ^  '___YYY?@C_]_X/DP!Q /\ \(             !     0 !:V8G'N#_
M'_YC'![\__\!_'CS!_#_\  /QP\_  #___\\Y_P>___\ 38 \@#^ /$     
M                 )4V,P[P_X_^8QP?//\_ /QQYP_@_^  'X8^?@$!____
M<<SP//_\\ /N "8 /@#A                      #5LE..\'_/_F<<'P#_
M P#\\\</P/_  #\,>/P' ____^>9X'C_^. 'N !@ !@ _@              
M        6I()CGA_1_YF.1X'_@ !_^./GX!_@(!_&//X#P?____.=L'Q__# 
M#_  S  \ /P                      "S:!<8\/R/^)CD>!_X  ?_'GL>!
M/X#X?S'G\!\/____G,V#P__ @#_  #  \ #P                       5
M2@3&'#\3_B9S'@_^  '_CSR  W\ __]CSN ^'____G.W#X[_@0!_  #  ,  
MP                       "FD.YPH?!?\F<QX/_@ !_QYX >?_X/__QYS 
M?#____SF7AXY_@<!_P                                ,E N,#GP'_
M)F8>'OX! ?\YXP?A__[_X8]Y@/A____XG;A\=OP. _X                 
M                U0"# /\ 3RSN'![\ 0/_<\\/P/___\ >Y\'@__\_X#+@
M\=CP. _X                                 #( )@ ^ !$LS!P\_ ,#
M_V<<'P/___\ _<[[P?__!\!MP..@X& ?X                           
M       +  T #P $#=A\.!P'X__.<SX/___^ -^9P(? _S^ UP#.P,' /\  
M                                 @    ,  AV1L'",#W__.<_X/___
M^ !YXP?O !__\%P /P # /\                                     
M      "%(E-ASY^_?W<[\/C_^/ 'SGH^!@'^__^P 'P # #\            
M                                %80;<S?W#P_8W\? _\# /V.OX& ?
M___@H  P )  <                                             )X
M"P@/!P;_HWJ?!O\!@/\;X 8 _^#^'P       (                      
M                          /_ _\#\/W!_"#\'_/_O !@ /P X^      
M                                                 !  'P ?  \!
M"_Z&_G___@       /P                                         
M                        !S@%T 3X _<                         
M                     0 "  , !  %  8 "  )  H "P ,  T !A\', @0
M"1 *$ P0#0  [@$. NX##@3N!0^"     0 "  , !  %  8 "  )  H "P ,
M  T !A\'-@@0"1 *$ P0#0  [@$. NX##@3N!0^" $)?5T0     P       
M0E](5     #       )03$%.15]#5,      !$9'7T-/3   P      &0D=?
M0T],  #       A/4%]404(  ,      "E-?6$U)3@  P      .4U]934E.
M  #      !!37T9/4DT  ,      $E-?3EA71   P      64U].6$Q.  # 
M     !A37TY84$P  ,      &D1?6$U)3@  P      <1%]934E.  #     
M !Y$7T9/4DT  ,      ($1?3EA71   P      D1%].6$Q.  #      "9$
M7TY84$P  ,      *%!?041$4@  P      J4%].6$Q.  #      "Y07TY8
M4$P  ,      ,%!?34%32P  P      R4%]"3$]#2U_      $Q+1U]"3%0 
M ,    "@!U9"3$%.2P  P     !P4D5:      #   #_@F!6241?2$D  ,  
M /^" 59)1%],3P  P   _X(#0DE/4P    #       U"0T].4U1!5,      
M 4)#3TY/550 P      #0T].      #       )+0D0      ,      !$58
M0DE/4P  P      .4$A94T)!4T7       )'151215H  ,      !%-%5%-#
M4D5%P      %4T544$%,153       93151#3TQ/4L      !T-54E-#3TY&
MP      524M"1%=3  #      !E&3U)-7TA4 ,      8$187U-(041/P   
M   <1%E?4TA!1$_       A8,        ,   !0  %DP        P   "   
M5E@P      #    !  !663       ,       $%9,       P    "  6%]-
M24X   #       !87TU!6    ,   ,H  %E?34E.    P   !   65]-05@ 
M  #   !?  !#3TQ/4E])3L    #__W9?8G5F7V%DH0   "'N=E]S=V%P  "A
M    (;)V7V)A<U]A9*$    A\E]M86EN    @@      <W!?<V%V90"!    
M(;AS879E7W-T88(     ('-?<F5Z    @0   "&\9V]?:&]M90""     M9S
M7W9I9    ($    AOG-?;'5T    @0   "'"<V%V95]L=72"     &!B86QL
M7V-O;((    #9&-O;%]L:7-T@0   "'B8V]L7VEN9'B!    (>9C;VQ?:6YC
M<H$    AZ'1I;5]I;F-R@0   "'L8V]L7W1I;66!    (>IV8E]S879E ($ 
M   AM&YM.'(     @@    +Z>%]V8G5F  "!    (99Y7W9B=68  ($    A
MFGA?=F)A<P  @0   "&>>5]V8F%S  "!    (:)V>        ($    AIG9Y
M        @0   "&J87D       "!    (:YD<F%W7VET ((    !.')E<W1?
M<W1A@@    *B>%]N;W0R<VV"     <IX7VYO=#)B:8(    "#GE?;F]T,G-M
M@@    (T>5]N;W0R8FF"     EQK8F1?8FQO8X(    #7&YM.')?96YD@@  
M  -*;F]T,FQO  ""     SQN;W0R:&D  ((    #1&)I9V)A;&P I     CJ
M;6%S:U]M86NB    !%AB;VEN:U]B;*(    #E'-H861O=U]BH@    /Z8F]I
M;FM?;&^"     YIQ=6ET7V)L=((    #^&)L=%]T;W=E@@    .V<VAA9&]W
M7VR"    ! )S:&%D;W=?=((    $%FYE>'1?;&EN@@    1:9C%?;&]O< ""
M    !%QF<FEN9V5?,8(    $:&-T7VQO;W  @@    1X8FQT7W1A8@""    
M!*)O;F5?9G)I;H(    $F$)?5T0     P       0E](5     #       )0
M3$%.15]#5,      !$9'7T-/3   P      &0D=?0T],  #       A/4%]4
M04(  ,      "E-?6$U)3@  P      .4U]934E.  #      !!37T9/4DT 
M ,      $E-?3EA71   P      64U].6$Q.  #      !A37TY84$P  ,  
M    &D1?6$U)3@  P      <1%]934E.  #      !Y$7T9/4DT  ,      
M($1?3EA71   P      D1%].6$Q.  #      "9$7TY84$P  ,      *%!?
M041$4@  P      J4%].6$Q.  #      "Y07TY84$P  ,      ,%!?34%3
M2P  P      R4%]"3$]#2U_      $Q+1U]"3%0  ,    "@!U9"3$%.2P  
MP     !P4D5:      #   #_@F!6241?2$D  ,   /^" 59)1%],3P  P   
M_X(#15A"24]3  #       Y315130U)%1<      !4)!3$Q?2%0 P     !@
M0D%,3%\X5P#     & !"04Q,7SE7 ,     ; $U!4TM?3$5.P     2"5E]"
M549?5T3      *!314=?5T0  ,       5-%1U](5   P      !4T5'7U94
M  #      !E314=?2%H  ,      '4=!4%]65   P      #1T%07TA:  # 
M      -415A455)% ,       &)A;&Q?;6%KH@    >(9F]R;5]I;F2A    
M(D)M87-K7VEN9*$    B@F)A;&Q?9')AH@    <0<VAA9&]W7V2B    !U!G
M<FED7VUA:Z(    %SF)A;&Q?<F5PH@    48<W=A<%]N7W.B    !+YS:&%D
M;W=?9:(    %A'9?8G5F7V%RH0   @4B<WEN8S)V:62"    !.1M87A?8V]U
M;H(    (SG-W87!?<V-R@@    3\8F%C:U]A<F6!   !Y.)R7VQO;W   (( 
M   %1&5?;&]O<   @@    6D8VQR,E]L;V^"    !=AB;&%C:U]B;X(    &
M]G8R7VQO;W  @@    7^=E]W96%V97*"    !KIH,E]L;V]P ((    &/&A?
M=V5A=F5R@@    9^8F%C:U]B;&^"    "*!D;U]B;'0  ((    ((FA?=V5V
M7VQA@@    :L:%]W979?;&^"    !I1H7W=E=E\P ((    &GFA?=V5V7W%U
M@@    :T=E]W979?;&&"    !NAV7W=E=E]L;X(    &T'9?=V5V7S  @@  
M  ;:=E]W979?<76"    !O!L:6YE7V)L;X(    (<F)L=%]B86QL@@    =,
M8FQT7W-H862"    !X1M87-K7V%R98$   &<PF1O7VUA<VL @@    @48F%L
M;%]B;&^"    "$1F;W)M7V%R98$    BPF)A;&PX7VQO@@    ?*8F%L;#E?
M;&^"    !_1B;'1?8FQO8X$    A]FQO861?;&]O@@    @P1$]33U5.1 # 
M     "!%0DE/4P   ,      #F)N8V9L<@  H@    C28FYC=V%L  "B    
M"-IF;&]O<@   (0    A*F)N8P      @@    C@=V%L;     "$    (6  
M   *( X(#@8(/ 0(" @&' H&$@H*"@H*"A@*$ 8.!@80!@8X!@8J!@84'!($
M!@0&!A0&$@H&!A .$A8&" 8&+ 8*0&C*!A((" @&!@0&' AD/H0&$ :$* X*
2*! :!@8&& 9R#!X.( X@(@@ 
 
end
-- 
			god bless Lily St. Cyr
			 -Rocky Horror Picture Show

Name:	James Turner
Mail:	Imagen Corp. 2650 San Tomas Expressway, P.O. Box 58101
        Santa Clara, CA 95052-9400
AT&T:	(408) 986-9400
UUCP:	...{decvax,ucbvax}!decwrl!imagen!turner
Technical Details
Message-ID: <112@imagen.UUCP>
Path: arc1-ca.pugleaf.net!utzoo!watmath!clyde!bonnie!akgua!gatech!seismo!lll-crg!ucdavis!ucbvax!decvax!decwrl!sun!saber!imagen!turner
References: <1761@utecfa.UUCP>

Show Full Headers
Complete Article Headers
Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.2 9/18/84; site imagen.UUCP
Path: arc1-ca.pugleaf.net!utzoo!watmath!clyde!bonnie!akgua!gatech!seismo!lll-crg!ucdavis!ucbvax!decvax!decwrl!sun!saber!imagen!turner
From: turner@imagen.UUCP (D'arc Angel)
Newsgroups: net.micro.atari
Subject: Re: uuENcode.c for the ST. Source. Long
Message-ID: <112@imagen.UUCP>
Date: Tue, 3-Dec-85 09:34:53 EST
Article-I.D.: imagen.112
Posted: Tue Dec  3 09:34:53 1985
Date-Received: Fri, 6-Dec-85 08:01:59 EST
References: <1761@utecfa.UUCP>
Organization: The Houses of the Holy
Lines: 615