pike.git/
src/
stralloc.c
Branch:
Tag:
Non-build tags
All tags
No tags
1997-02-15
1997-02-15 17:29:20 by Fredrik Hübinette (Hubbe) <hubbe@hubbe.net>
1f515a4c3030bc60e8330d3bfdbeece1b6cd5823 (
33
lines) (+
19
/-
14
)
[
Show
|
Annotate
]
Branch:
7.9
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;