1
0
mirror of https://github.com/VCMP-SqMod/SqMod.git synced 2025-02-22 04:37:13 +01:00

Fix bug in String library which would cause the first character to be skipped from the first chunk if no previous match was found.

This commit is contained in:
Sandu Liviu Catalin 2016-09-15 03:42:26 +03:00
parent 2d433c34b4
commit 3e8250d04b

View File

@ -886,7 +886,7 @@ static SQInteger SplitWhereCharImpl(HSQUIRRELVM vm, int(*fn)(int), bool neg)
if ((fn(*itr) == 0) == neg) if ((fn(*itr) == 0) == neg)
{ {
// Are there any characters before this match? // Are there any characters before this match?
if ((itr - last) > 1 && (++last != '\0')) if ((itr - last) > 1 && (last != '\0'))
{ {
// Push this chunk of string on the stack // Push this chunk of string on the stack
sq_pushstring(vm, last, itr - last); sq_pushstring(vm, last, itr - last);
@ -908,12 +908,12 @@ static SQInteger SplitWhereCharImpl(HSQUIRRELVM vm, int(*fn)(int), bool neg)
return r; // We're done here return r; // We're done here
} }
// Update the position of the last found match // Update the position of the last found match
last = itr; last = (itr + 1);
} }
} }
// Push the remaining chunk, if any // Push the remaining chunk, if any
if (*(++last) != '\0') if (*last != '\0')
{ {
// Push this chunk of string on the stack // Push this chunk of string on the stack
sq_pushstring(vm, last, -1); sq_pushstring(vm, last, -1);