diff options
author | Vito Caputo <vcaputo@pengaru.com> | 2023-05-08 00:11:09 -0700 |
---|---|---|
committer | Vito Caputo <vcaputo@pengaru.com> | 2023-05-11 15:18:02 -0700 |
commit | 1a8abe80dabd6b723897fc507808db30b126b3a4 (patch) | |
tree | d60a084d6b6b44b9fffe76864e00ed6d7176f2ad /src/sdl_fb.c | |
parent | a409d9fd5d861d52dca0e4ed33416a49b00ae2d9 (diff) |
til_settings: rework setting get/add for bare values
The core thing here is rather than turning a bare value into a
key as I was doing before - we just leave the bare value as a
bare value and its setting must be located positionally via
get_value_by_idx since there's no key.
Existing callers that used to get_key() positionally now
get_value_by_idx() positionally all the same, except it's the
value instead of the key. This is mostly done for things like
the module or fb name at the front of a settings instance.
The impetus for this change is partially just
cosmetic/ergonomics, but it's also rather strange for what's
really a key-less value to be treated as a value-less key. It
was also awkward to talk/reason about on the road to recursive
settings where bare values would be supported as a standalone
settings instance if properly escaped...
This also adds unescaping of keys, and adds a dependency on the
somewhat linux-specific open_memstream() which may need changing
in the future (see comments).
Diffstat (limited to 'src/sdl_fb.c')
-rw-r--r-- | src/sdl_fb.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/sdl_fb.c b/src/sdl_fb.c index 469fcb1..9eabbaf 100644 --- a/src/sdl_fb.c +++ b/src/sdl_fb.c @@ -73,7 +73,7 @@ static int sdl_fb_setup(const til_settings_t *settings, til_setting_t **res_sett res_desc); if (r) return r; - } else if ((size = til_settings_get_value(settings, "size", res_setting)) && !(*res_setting)->desc) { + } else if ((size = til_settings_get_value_by_key(settings, "size", res_setting)) && !(*res_setting)->desc) { /* if fullscreen=on AND size=WxH is specified, we'll do a more legacy style SDL fullscreen * where it tries to change the video mode. But if size is unspecified, it'll be a desktop * style fullscreen where it just uses a fullscreen window in the existing video mode, and |