diff options
author | DS <vorunbekannt75@web.de> | 2022-03-29 18:06:16 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-03-29 18:06:16 +0200 |
commit | 8d387433b14791db95e59127b5e6e30f58155c1e (patch) | |
tree | f7ce345cb892a6c9fdc0f210559e744c57e1f0d4 /src/script/lua_api/l_inventory.cpp | |
parent | 0f25fa7af655b98fa401176a523f269c843d1943 (diff) | |
download | minetest-8d387433b14791db95e59127b5e6e30f58155c1e.tar.gz minetest-8d387433b14791db95e59127b5e6e30f58155c1e.tar.bz2 minetest-8d387433b14791db95e59127b5e6e30f58155c1e.zip |
Fix the documentation of InvRef:get_lists() and clean up code (#12150)
Diffstat (limited to 'src/script/lua_api/l_inventory.cpp')
-rw-r--r-- | src/script/lua_api/l_inventory.cpp | 23 |
1 files changed, 10 insertions, 13 deletions
diff --git a/src/script/lua_api/l_inventory.cpp b/src/script/lua_api/l_inventory.cpp index b0a4ee194..175047e58 100644 --- a/src/script/lua_api/l_inventory.cpp +++ b/src/script/lua_api/l_inventory.cpp @@ -214,11 +214,16 @@ int InvRef::l_get_list(lua_State *L) InvRef *ref = checkobject(L, 1); const char *listname = luaL_checkstring(L, 2); Inventory *inv = getinv(L, ref); - if(inv){ - push_inventory_list(L, inv, listname); - } else { + if (!inv) { lua_pushnil(L); + return 1; } + InventoryList *invlist = inv->getList(listname); + if (!invlist) { + lua_pushnil(L); + return 1; + } + push_inventory_list(L, *invlist); return 1; } @@ -242,7 +247,7 @@ int InvRef::l_set_list(lua_State *L) return 0; } -// get_lists(self) -> list of InventoryLists +// get_lists(self) -> table that maps listnames to InventoryLists int InvRef::l_get_lists(lua_State *L) { NO_MAP_LOCK_REQUIRED; @@ -251,15 +256,7 @@ int InvRef::l_get_lists(lua_State *L) if (!inv) { return 0; } - std::vector<const InventoryList*> lists = inv->getLists(); - std::vector<const InventoryList*>::iterator iter = lists.begin(); - lua_createtable(L, 0, lists.size()); - for (; iter != lists.end(); iter++) { - const char* name = (*iter)->getName().c_str(); - lua_pushstring(L, name); - push_inventory_list(L, inv, name); - lua_rawset(L, -3); - } + push_inventory_lists(L, *inv); return 1; } |