struct StringsBase *StringsBase=0L; #define RUN #ifdef RUN char *StrrChr(s,c) char *s; char c; { char *p=s; do ; while(*p++); p--; do ; while( !(c==*p--) && (p>=s ) ); p++; if( !(c==*p)) p=0L; return p; } /* StrrChr $VER:0.1 */ #endif long test(s,c) char *s; char c; { char *o[64],*p=(char *)StrrChr(s,c); sprintf(o,"<%s>",s); printf(" %16s <%c> %x",o,c,c); sprintf(o,"<%s>",p); printf(" %16s %x\n",o,p); return 0; /* */ } int main() { /* MAIN */ long el=0; char *s[66]; StringsBase=(struct StringsBase *)OpenLibrary("Strings.library",0); StrCpy(s,"abcde"); el=test(s,'e'); el=test(s,'d'); el=test(s,'c'); el=test(s,'b'); el=test(s,'a'); el=test(s,'h'); StrCpy(s,"atest StrrChr"); el=test(s,'r'); el=test(s,'s'); el=test(s,'S'); el=test(s,'a'); el=test(s,'g'); el=test(s,0); if(StringsBase) CloseLibrary(StringsBase); return el; } /* END */ #ifdef COMMENT 65 276F44 64 276F43 63 276F42 62 276F41 61 276F40 68 <> 0 72 276F4C 73 276F43 53 276F46 61 276F40 67 <> 0 <> 0 <> 276F4D #endif