149         const char *tmp = 
str;
 
  153         int oldlen = strlen(oldstr);
 
  154         int newlen = strlen(newstr);
 
  158         while ((tmp = strstr(tmp, oldstr)) != NULL && found != limit)
 
  159                 found++, tmp += oldlen;
 
  161         length = strlen(
str) + found * (newlen - oldlen);
 
  163                 rterror(
_(
"strreplace: Not enough memory"));
 
  172                 while ((limit-- > 0) && (tmp = strstr(tmp, oldstr)) != NULL) {
 
  173                         length = (tmp - 
str); 
 
  175                         strcpy(
result + (reslen += length), newstr); 
 
char result[OUT_DOUBLE_BUFFER_SIZE]
void rterror(const char *fmt,...)
Wrappers used for reporting errors and info.
void * rtalloc(size_t size)
Wrappers used for managing memory.