| Last change
 on this file since 1073 was             628, checked in by George Lilly, 16 years ago | 
        
          | 
initial load of FOIAVistA 6/30/08 version
 | 
        
          | File size:
            1.1 KB | 
      
      
| Line |  | 
|---|
| 1 | XMCU1 ;(WASH ISC)/CMW-Encode/Decode String APIs ;04/17/2002  08:30 | 
|---|
| 2 | ;;8.0;MailMan;;Jun 28, 2002 | 
|---|
| 3 | ; Entry points (DBIA 1136): | 
|---|
| 4 | ; $$ENCODEUP - Convert all "^" to "~U~" | 
|---|
| 5 | ; $$DECODEUP - Convert all "~U~" to "^" | 
|---|
| 6 | ; $$STRAN    - Convert all control characters to printable ones | 
|---|
| 7 | ; $$RTRAN    - Undo the conversion done by $$STRAN | 
|---|
| 8 | ; | 
|---|
| 9 | RTRAN(XXX) ; Extrinsic Function to decode control characters | 
|---|
| 10 | ;Input=STRING | 
|---|
| 11 | ;Output=STRING | 
|---|
| 12 | N XMESC,X,Y,X1,I | 
|---|
| 13 | S XMESC="~" | 
|---|
| 14 | Q:XXX'[XMESC | 
|---|
| 15 | S Y="",X1=XXX | 
|---|
| 16 | R1 S I=$F(X1,XMESC) I I=0 S X=Y_X1 G SET | 
|---|
| 17 | S Y=Y_$E(X1,1,I-2)_$C($A($E(X1,I))-64#128),X1=$E(X1,I+1,999) G R1 | 
|---|
| 18 | SET Q X | 
|---|
| 19 | STRAN(XXX) ; Extrinsic Function to encode control characters | 
|---|
| 20 | ;Input=STRING | 
|---|
| 21 | ;Output=STRING | 
|---|
| 22 | N XMESC,Y,X1,I | 
|---|
| 23 | S XMESC="~" | 
|---|
| 24 | S Y="" F I=1:1:$L(XXX) S X1=$E(XXX,I) S Y=Y_$S(X1=XMESC:XMESC_$C(62),X1?1C:XMESC_$C($A(X1)+64#128),1:X1) | 
|---|
| 25 | Q Y | 
|---|
| 26 | ENCODEUP(XXX) ; Extrinsic Function to encode "^" into "~U~" | 
|---|
| 27 | ; Input=STRING | 
|---|
| 28 | ; Output=STRING | 
|---|
| 29 | F  Q:XXX'[U  S XXX=$P(XXX,U)_"~U~"_$P(XXX,U,2,999) | 
|---|
| 30 | Q XXX | 
|---|
| 31 | DECODEUP(XXX) ; Extrinsic Function to decode "~U~" to "^" | 
|---|
| 32 | ; Input=STRING | 
|---|
| 33 | ; Output=STRING | 
|---|
| 34 | F  Q:XXX'["~U~"  S XXX=$P(XXX,"~U~")_"^"_$P(XXX,"~U~",2,999) | 
|---|
| 35 | Q XXX | 
|---|
       
      
  Note:
 See   
TracBrowser
 for help on using the repository browser.