Branch: Tag:

1997-02-15

1997-02-15 17:29:20 by Fredrik Hübinette (Hubbe) <hubbe@hubbe.net>

string_replace optimized

Rev: src/ChangeLog:1.76
Rev: src/stralloc.c:1.11

505:    struct pike_string *to)   {    struct pike_string *ret; -  INT32 delimeters; +     char *s,*tmp,*r,*end;    struct mem_searcher searcher;       s=str->str;    end=s+str->len; -  delimeters=0; +     -  init_memsearch(&searcher, del->str, del->len, str->len * 2); -  +  if(del->len == to->len) +  { +  init_memsearch(&searcher, del->str, del->len, str->len); +  ret=begin_shared_string(str->len); +  }else{ +  INT32 delimeters=0; +  init_memsearch(&searcher, del->str, del->len, str->len*2);    while((s=memory_search(&searcher,s,end-s)))    {    delimeters++;
528:    }       ret=begin_shared_string(str->len + (to->len-del->len)*delimeters); +  }    s=str->str;    r=ret->str;