struct StringsBase *StringsBase=0L; /*#define RUN*/ #ifdef RUN long htos(d,s) register unsigned char *d,*s; { register long l=0; register unsigned char c; if(!d) l=-1; if(!s) l=-1; if(l>=0) { if(*s) { do { c=*s++,l++; if(c>96) c&=0x4F; if(c) { c-='0'; if(c>9) c+=0xF9; (*d)=c<<4; c=*s++; } if(c>96) c&=0x4F; if(c) { c-='0'; if(c>9) c+=0xF9; (*d)+=c; d++; } } while(*s); } } if(d) *d=0; return l; }; /* htos $V0.2 */ #endif long test(s) unsigned char *s; { long el=0; unsigned char os[1024]; el=htos(os,s); printf("<%s> <%s> ",s,os); return el; }; int main() { /* MAIN */ long el=0,l=32,i,j; unsigned char s[256],hs[128],*p,*cp,c,cc; cp=s; StringsBase=(struct StringsBase *)OpenLibrary("Strings.library",0); do { for(i=0,printf("%3ld: ",l); i<8; i++,l++) { if((l<128) || (l>144)) { sprintf(s,"%x",l); el=htos(hs,s); printf("$%s <%1s> ",s,hs); } } puts(""); } while(l<256); puts("-----------------------"); l=test("4A4B4C"); puts(""); l=test("4a4b4c"); puts(""); l=test("6A6B6C"); puts(""); l=test("6a6b6c");printf("return = %ld \n",l); l=test("FF"); puts(""); l=test("ff"); printf("return = %ld \n",l); l=test("0a44696573206973742065696e205465737420766f6E0a"); l=test("0a2d2D2068746F73202D2d0A"); printf(" %ld \n",l); l=test(""); printf("len = %ld \n",l); l=test(0); printf("len = %ld \n",l); if(StringsBase) CloseLibrary(StringsBase); return el; } /* END */ /* 32: $20 < > $21 $22 <"> $23 <#> $24 <$> $25 <%> $26 <&> $27 <'> 40: $28 <(> $29 <)> $2A <*> $2B <+> $2C <,> $2D <-> $2E <.> $2F 48: $30 <0> $31 <1> $32 <2> $33 <3> $34 <4> $35 <5> $36 <6> $37 <7> 56: $38 <8> $39 <9> $3A <:> $3B <;> $3C <<> $3D <=> $3E <>> $3F 64: $40 <@> $41 $42 $43 $44 $45 $46 $47 72: $48 $49 $4A $4B $4C $4D $4E $4F 80: $50

$71 $72 $73 $74 $75 $76 $77 120: $78 $79 $7A $7B <{> $7C <|> $7D <}> $7E <~> $7F <> 128: 136: 144: $91 <> $92 <> $93 <> $94 <> $95 <> $96 <> $97 <> 152: $98 <> $99 <> $9A <> $9B <> $9C <> $9D <> $9E <> $9F <> 160: $A0 <> $A1 <> $A2 <> $A3 <> $A4 <> $A5 <> $A6 <> $A7 <> 168: $A8 <> $A9 <> $AA <> $AB <> $AC <> $AD <> $AE <> $AF <> 176: $B0 <> $B1 <> $B2 <> $B3 <> $B4 <> $B5 <> $B6 <> $B7 <> 184: $B8 <> $B9 <> $BA <> $BB <> $BC <> $BD <> $BE <> $BF <> 192: $C0 <> $C1 <> $C2 <> $C3 <> $C4 <> $C5 <> $C6 <> $C7 <> 200: $C8 <> $C9 <> $CA <> $CB <> $CC <> $CD <> $CE <> $CF <> 208: $D0 <> $D1 <> $D2 <> $D3 <> $D4 <> $D5 <> $D6 <> $D7 <> 216: $D8 <> $D9 <> $DA <> $DB <> $DC <> $DD <> $DE <> $DF <> 224: $E0 <> $E1 <> $E2 <> $E3 <> $E4 <> $E5 <> $E6 <> $E7 <> 232: $E8 <> $E9 <> $EA <> $EB <> $EC <> $ED <> $EE <> $EF <> 240: $F0 <> $F1 <> $F2 <> $F3 <> $F4 <> $F5 <> $F6 <> $F7 <> 248: $F8 <> $F9 <> $FA <> $FB <> $FC <> $FD <> $FE <> $FF <> ----------------------- <4A4B4C> <4a4b4c> <6A6B6C> <6a6b6c> <> <> <0a44696573206973742065696e205465737420766f6E0a> < Dies ist ein Test von > <0a2d2D2068746F73202D2d0A> < -- htos -- > */

$51 $52 $53 $54 $55 $56 $57 88: $58 $59 $5A $5B <[> $5C <\> $5D <]> $5E <^> $5F <_> 96: $60 <`> $61 $62 $63 $64 $65 $66 $67 104: $68 $69 $6A $6B $6C $6D $6E $6F 112: $70