core/smn_string.cpp
changeset 2095 5035d22f05ae
parent 2004 c9f1dc4cdaed
child 2193 db7c6362f3f2
     1.1 --- a/core/smn_string.cpp	Thu May 29 05:01:50 2008 +0000
     1.2 +++ b/core/smn_string.cpp	Thu May 29 05:39:29 2008 +0000
     1.3 @@ -460,8 +460,12 @@
     1.4  	pContext->LocalToString(params[4], &replace);
     1.5  	maxlength = (size_t)params[2];
     1.6  
     1.7 +	if (search[0] == '\0')
     1.8 +	{
     1.9 +		return pContext->ThrowNativeError("Cannot replace searches of empty strings");
    1.10 +	}
    1.11  
    1.12 -	return  UTIL_ReplaceAll(text, maxlength, search, replace);
    1.13 +	return UTIL_ReplaceAll(text, maxlength, search, replace);
    1.14  }
    1.15  
    1.16  static cell_t ReplaceStringEx(IPluginContext *pContext, const cell_t *params)
    1.17 @@ -477,6 +481,11 @@
    1.18  	size_t searchLen = (params[5] == -1) ? strlen(search) : (size_t)params[5];
    1.19  	size_t replaceLen = (params[6] == -1) ? strlen(replace) : (size_t)params[6];
    1.20  
    1.21 +	if (searchLen == 0)
    1.22 +	{
    1.23 +		return pContext->ThrowNativeError("Cannot replace searches of empty strings");
    1.24 +	}
    1.25 +
    1.26  	char *ptr = UTIL_ReplaceEx(text, maxlength, search, searchLen, replace, replaceLen);
    1.27  
    1.28  	if (ptr == NULL)