| 1 | LRSRVR4 ;DALOI/JMC -LAB DATA SERVER, CONT'D - UUENCODE UTILITY ; Dec 14, 2004 | 
|---|
| 2 | ;;5.2;LAB SERVICE;**303**;Sep 27, 1994 | 
|---|
| 3 | ; | 
|---|
| 4 | ; | 
|---|
| 5 | UUEN(STR) ; Uuencode string passed in. | 
|---|
| 6 | N J,K,LEN,LRI,LRX,S,TMP,X,Y | 
|---|
| 7 | S TMP="",LEN=$L(STR) | 
|---|
| 8 | F LRI=1:3:LEN D | 
|---|
| 9 | . S LRX=$E(STR,LRI,LRI+2) | 
|---|
| 10 | . I $L(LRX)<3 S LRX=LRX_$E("   ",1,3-$L(LRX)) | 
|---|
| 11 | . S S=$A(LRX,1)*256+$A(LRX,2)*256+$A(LRX,3),Y="" | 
|---|
| 12 | . F K=0:1:23 S Y=(S\(2**K)#2)_Y | 
|---|
| 13 | . F K=1:6:24 D | 
|---|
| 14 | . . S J=$$DEC^XLFUTL($E(Y,K,K+5),2) | 
|---|
| 15 | . . S TMP=TMP_$C(J+32) | 
|---|
| 16 | S TMP=$C(LEN+32)_TMP | 
|---|
| 17 | Q TMP | 
|---|
| 18 | ; | 
|---|
| 19 | ; | 
|---|
| 20 | ENCODE(LRSTR) ; Encode a string, keep remainder for next line | 
|---|
| 21 | ; Call with LRSTR by reference, Remainder returned in LRSTR | 
|---|
| 22 | ; | 
|---|
| 23 | S LRQUIT=0,LRLEN=$L(LRSTR) | 
|---|
| 24 | F  D  Q:LRQUIT | 
|---|
| 25 | . I $L(LRSTR)<45 S LRQUIT=1 Q | 
|---|
| 26 | . S LRX=$E(LRSTR,1,45) | 
|---|
| 27 | . S LRNODE=LRNODE+1,^TMP($J,"LRDATA",LRNODE)=$$UUEN(LRX) | 
|---|
| 28 | . S LRSTR=$E(LRSTR,46,LRLEN) | 
|---|
| 29 | Q | 
|---|