diff options
Diffstat (limited to 'plugins/MirLua/src/utils.cpp')
-rw-r--r-- | plugins/MirLua/src/utils.cpp | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/plugins/MirLua/src/utils.cpp b/plugins/MirLua/src/utils.cpp index 5704bfc786..c0c74a76fa 100644 --- a/plugins/MirLua/src/utils.cpp +++ b/plugins/MirLua/src/utils.cpp @@ -96,4 +96,17 @@ bool luaM_toboolean(lua_State *L, int idx) if (lua_isnumber(L, idx)) return lua_tonumber(L, idx) > 0; return lua_toboolean(L, idx) > 0; -}
\ No newline at end of file +} + +bool luaM_isarray(lua_State *L, int idx) +{ + luaL_checktype(L, idx, LUA_TTABLE); + int i = 0; + for (lua_pushnil(L); lua_next(L, idx); lua_pop(L, 2)) { + if (lua_rawgeti(L, idx, ++i) == LUA_TNIL) { + lua_pop(L, 3); + return false; + } + } + return true; +} |