From 310899d5300dfc9050341d6e45dc1d78fb441997 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fredrik=20H=C3=BCbinette=20=28Hubbe=29?= <hubbe@hubbe.net>
Date: Fri, 21 Jun 1996 21:52:36 +0200
Subject: [PATCH] string replace optimized

Rev: src/stralloc.c:1.3
---
 src/stralloc.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/src/stralloc.c b/src/stralloc.c
index 8c3d1317c5..6e5847e891 100644
--- a/src/stralloc.c
+++ b/src/stralloc.c
@@ -362,12 +362,15 @@ struct lpc_string *string_replace(struct lpc_string *str,
   struct lpc_string *ret;
   INT32 delimeters;
   char *s,*tmp,*r,*end;
+  struct mem_searcher searcher;
 
   s=str->str;
   end=s+str->len;
   delimeters=0;
 
-  while((s=MEMMEM(del->str,del->len,s,end-s)))
+  init_memsearch(&searcher, del->str, del->len, str->len * 2);
+
+  while((s=memory_search(&searcher,s,end-s)))
   {
     delimeters++;
     s+=del->len;
@@ -383,7 +386,7 @@ struct lpc_string *string_replace(struct lpc_string *str,
   s=str->str;
   r=ret->str;
 
-  while((tmp=MEMMEM(del->str,del->len,s,end-s)))
+  while((tmp=memory_search(&searcher,s,end-s)))
   {
     MEMCPY(r,s,tmp-s);
     r+=tmp-s;
-- 
GitLab