struct StringsBase *StringsBase=0L; /*#define RUN*/ #ifdef RUN long StrSpn(cs,ct) register char *cs,*ct; { register long l=0; register char *p=ct,c=*cs,sc; do { if (!*p) c=0; if((c) && (*p++==c) ) { p=ct; c=*++cs; l++; } } while(c); return l; } /* StrSpn $VER:0.1 */ #endif long test(cs,ct) register char *cs,*ct; { char *o[128]; sprintf(o,"<%s>",cs); printf(" %14s ",o); sprintf(o,"<%s>",ct); printf(" %11s %ld\n",o,strspn(cs,ct)); return 0; /* */ } int main() { /* MAIN */ long el=0; char *s[66]; strcpy(s,"test StrSpn"); StringsBase=(struct StringsBase *)OpenLibrary("Strings.library",0); el=test(s,"ets "); el=test(s,"ets r"); el=test(s,"eSts S"); el=test(s,"eStsn pr"); el=test(s,"e"); el=test(s,""); el=test("","g"); el=test("",""); if(StringsBase) CloseLibrary(StringsBase); return el; } /* END */ #ifdef COMMENT 5 5 7 11 0 <> 0 <> 0 <> <> 0 #endif