فهرست منبع

Fix for empty strings.

mingodad 10 سال پیش
والد
کامیت
740aabce31
1فایلهای تغییر یافته به همراه11 افزوده شده و 10 حذف شده
  1. 11 10
      SquiLu/squirrel/sqbaselib.cpp

+ 11 - 10
SquiLu/squirrel/sqbaselib.cpp

@@ -1120,18 +1120,19 @@ static SQRESULT string_find(HSQUIRRELVM v)
 	const SQChar *str,*substr,*ret;
 	if(((top=sq_gettop(v))>1) && SQ_SUCCEEDED(sq_getstring(v,1,&str)) && SQ_SUCCEEDED(sq_getstring(v,2,&substr))){
 		if(top>2)sq_getinteger(v,3,&start_idx);
-		if((sq_getsize(v,1)>start_idx) && (start_idx>=0)){
-			ret=scstrstr(&str[start_idx],substr);
-			if(ret){
-				sq_pushinteger(v,(SQInteger)(ret-str));
-				return 1;
+		if(sq_getsize(v,1)>start_idx)
+		{
+			if(start_idx>=0)
+			{
+				ret=scstrstr(&str[start_idx],substr);
+				if(ret){
+					sq_pushinteger(v,(SQInteger)(ret-str));
+					return 1;
+				}
 			}
-			else
-            {
-				sq_pushinteger(v,-1);
-				return 1;
-            }
 		}
+		sq_pushinteger(v,-1);
+		return 1;
 	}
 	return sq_throwerror(v,_SC("invalid param"));
 }