Ver código fonte

No coercion string->number in arithmetic with LUA_NOCVTS2N

Roberto Ierusalimschy 5 anos atrás
pai
commit
6a84c32900
1 arquivos alterados com 13 adições e 0 exclusões
  1. 13 0
      lstrlib.c

+ 13 - 0
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) {
   if (lua_type(L, arg) == LUA_TNUMBER) {  /* already a number? */
     lua_pushvalue(L, arg);
@@ -311,6 +322,8 @@ static const luaL_Reg stringmetamethods[] = {
   {NULL, NULL}
 };
 
+#endif		/* } */
+
 /* }====================================================== */
 
 /*