Merge pull request #120 from VasiliyRyabtsev/fix/array-resize
Raise error for negative size in array_resize()
This commit is contained in:
commit
938655a90b
@ -542,9 +542,13 @@ static SQInteger array_resize(HSQUIRRELVM v)
|
|||||||
SQObject &nsize = stack_get(v, 2);
|
SQObject &nsize = stack_get(v, 2);
|
||||||
SQObjectPtr fill;
|
SQObjectPtr fill;
|
||||||
if(sq_isnumeric(nsize)) {
|
if(sq_isnumeric(nsize)) {
|
||||||
|
SQInteger sz = tointeger(nsize);
|
||||||
|
if (sz<0)
|
||||||
|
return sq_throwerror(v, _SC("resizing to negative length"));
|
||||||
|
|
||||||
if(sq_gettop(v) > 2)
|
if(sq_gettop(v) > 2)
|
||||||
fill = stack_get(v, 3);
|
fill = stack_get(v, 3);
|
||||||
_array(o)->Resize(tointeger(nsize),fill);
|
_array(o)->Resize(sz,fill);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
return sq_throwerror(v, _SC("size must be a number"));
|
return sq_throwerror(v, _SC("size must be a number"));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user