diff options
author | Vito Caputo <vcaputo@pengaru.com> | 2023-06-02 18:06:33 -0700 |
---|---|---|
committer | Vito Caputo <vcaputo@pengaru.com> | 2023-06-03 07:42:02 -0700 |
commit | 401cfce3ebb205e46b4582fc6be1a0d42e213d31 (patch) | |
tree | 7e1c42852e2ccd8fc95802476f6eb9f4f9d11545 /src/modules/plato | |
parent | 8dc099b955197c7100937d5fafc60c4b9681a5ab (diff) |
til_settings,setup: introduce til_setting_spec_t.override()
In situations where modules wish to alias setting values like
expanding "all" -> "mod0,mod1,mod2,mod3" they need a way to
intercept the value-acceptance @ desc-assignment time in the
front-end. This optional override() function does just that when
present in the spec.
The current setting's value is passed to the override, and
if what's returned differs from what was passed (by pointer
value), then the current value is freed and the override takes
its place. The override function is expected to _always_ return
non-NULL; either the value provided, or a newly allocated value
override. The override function must never free the supplied
value, that's the front-end's job in applying the override.
The override() must return NULL on errors, which are assumed to
be limited to ENOMEM failures.
Diffstat (limited to 'src/modules/plato')
0 files changed, 0 insertions, 0 deletions