Jelajahi Sumber

Use macros to access the length of strings

mingodad 4 tahun lalu
induk
melakukan
2f82f252d4
1 mengubah file dengan 3 tambahan dan 4 penghapusan
  1. 3 4
      SquiLu/squirrel/sqbaselib.cpp

+ 3 - 4
SquiLu/squirrel/sqbaselib.cpp

@@ -1556,12 +1556,11 @@ static SQRESULT string_find(HSQUIRRELVM v)
 	if(eidx < 0)eidx = slen + eidx; \
 	if(eidx < sidx)	return sq_throwerror(v,_SC("wrong indexes")); \
 	if(eidx > slen || sidx < 0)	return sq_throwerror(v,_SC("slice out of range")); \
-	SQInteger len=_string(str)->_len; \
 	const SQChar *sthis=_stringval(str); \
-	SQChar *snew=(_ss(v)->GetScratchPad(sq_rsl(len))); \
-	memcpy(snew,sthis,sq_rsl(len));\
+	SQChar *snew=(_ss(v)->GetScratchPad(sq_rsl(slen))); \
+	memcpy(snew,sthis,sq_rsl(slen));\
 	for(SQInteger i=sidx;i<eidx;i++) snew[i] = func(sthis[i]); \
-	v->Push(SQString::Create(_ss(v),snew,len)); \
+	v->Push(SQString::Create(_ss(v),snew,slen)); \
 	return 1; \
 }