lua fns do not care about the argument count, they work with the index of
the item in the stack. Before library, there was just one item on the stack
so it worked out, however, with the library, the first item in the stack is
the library userdata, so, the fn would fail with the existing hard coded
setting of 1 for argc which can easily be confused with the number of
arguments passed to the fn.
return 2;
}
-const char *LuaGetStringArgument(lua_State *luastate, int argc)
+const char *LuaGetStringArgument(lua_State *luastate, int idx)
{
/* get argument */
- if (!lua_isstring(luastate, argc))
+ if (!lua_isstring(luastate, idx))
return NULL;
- const char *str = lua_tostring(luastate, argc);
+ const char *str = lua_tostring(luastate, idx);
if (str == NULL)
return NULL;
if (strlen(str) == 0)