Skip to content
Permalink
Browse files

Allow 'default' parameter in 'settings:get_bool' function

Default value is used when the setting key is not found in the config
file. If default value is not set, 'nil' is returned.

#6188
  • Loading branch information...
AntumDeluge authored and rubenwardy committed Dec 17, 2017
1 parent 26c7e98 commit 18b921015a33c6e597f480bccc7e2974af33c4ea
Showing with 8 additions and 2 deletions.
  1. +3 −1 doc/lua_api.txt
  2. +5 −1 src/script/lua_api/l_settings.cpp
@@ -4131,7 +4131,9 @@ It can be created via `Settings(filename)`.

#### Methods
* `get(key)`: returns a value
* `get_bool(key)`: returns a boolean
* `get_bool(key, [default])`: returns a boolean
* `default` is the value returned if `key` is not found.
* Returns `nil` if `key` is not found and `default` not specified.
* `get_np_group(key)`: returns a NoiseParams table
* `set(key, value)`
* Setting names can't contain whitespace or any of `="{}#`.
@@ -100,7 +100,11 @@ int LuaSettings::l_get_bool(lua_State* L)
bool value = o->m_settings->getBool(key);
lua_pushboolean(L, value);
} else {
lua_pushnil(L);
// Push default value
if (lua_isboolean(L, 3))
lua_pushboolean(L, lua_toboolean(L, 3));
else
lua_pushnil(L);
}

return 1;

0 comments on commit 18b9210

Please sign in to comment.
You can’t perform that action at this time.