No coercion string->number in arithmetic with LUA_NOCVTS2N
This commit is contained in:
13
lstrlib.c
13
lstrlib.c
@@ -233,6 +233,17 @@ static int str_dump (lua_State *L) {
|
|||||||
** =======================================================
|
** =======================================================
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#if defined(LUA_NOCVTS2N) /* { */
|
||||||
|
|
||||||
|
/* no coercion from strings to numbers */
|
||||||
|
|
||||||
|
static const luaL_Reg stringmetamethods[] = {
|
||||||
|
{"__index", NULL}, /* placeholder */
|
||||||
|
{NULL, NULL}
|
||||||
|
};
|
||||||
|
|
||||||
|
#else /* }{ */
|
||||||
|
|
||||||
static int tonum (lua_State *L, int arg) {
|
static int tonum (lua_State *L, int arg) {
|
||||||
if (lua_type(L, arg) == LUA_TNUMBER) { /* already a number? */
|
if (lua_type(L, arg) == LUA_TNUMBER) { /* already a number? */
|
||||||
lua_pushvalue(L, arg);
|
lua_pushvalue(L, arg);
|
||||||
@@ -311,6 +322,8 @@ static const luaL_Reg stringmetamethods[] = {
|
|||||||
{NULL, NULL}
|
{NULL, NULL}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#endif /* } */
|
||||||
|
|
||||||
/* }====================================================== */
|
/* }====================================================== */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
Reference in New Issue
Block a user