char *DeleteUntilStr(char *string,char *searchstring); char *DeleteUntilStr(char *s,char *ss) { char *p=s,*sp,*cp; long l; do { sp=ss; cp=p; p++; l=1; do { if(*sp++!=*cp++) l=0; } while(l && *sp); } while(!l && *p); p--; cp=s; if(!s) p=s; if((p>s) && l) do { ;} while(*cp++=*p++); if(!l) p=s; return p; } /* DeleteUntilStr $VER:0.1 */ long test(char *s,char *fs) { long el=0; char *cp; printf("s = <%6s> fs = <%4s> ",s,fs); cp=DeleteUntilStr(s,fs); printf("in s = <%s> out cp = <%s> %x\n",s,cp,cp); return el; } int main(int argc,char *argv[]) { /* main */ long el=0,l; char *s[1024],*fs[1024],*cp; el=test("test","test"); el=test("abtest","test"); el=test("atestb","test"); el=test("testhj","test"); el=test("atesb","test"); el=test("abtes","test"); el=test("","test"); el=test("testa","test"); el=test("testa","");el=test("dtesta","test"); el=test("abcde","e"); el=test("abcde","de"); el=test("abc","bcd"); el=test("abcde","cd"); el=test("abcde","a"); return el; } /* END */