diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/til_settings.c | 9 | ||||
-rw-r--r-- | src/til_settings.h | 1 |
2 files changed, 10 insertions, 0 deletions
diff --git a/src/til_settings.c b/src/til_settings.c index 30156d6..152060d 100644 --- a/src/til_settings.c +++ b/src/til_settings.c @@ -226,6 +226,15 @@ int til_settings_add_value(til_settings_t *settings, const char *key, const char } +void til_settings_reset_descs(til_settings_t *settings) +{ + assert(settings); + + for (unsigned i = 0; i < settings->num; i++) + settings->settings[i]->desc = NULL; +} + + /* apply the supplied setting description generators to the supplied settings */ /* returns 0 when input settings are complete */ /* returns 1 when input settings are incomplete, storing the next setting's description needed in *next_setting */ diff --git a/src/til_settings.h b/src/til_settings.h index 52535fe..0ca0c6f 100644 --- a/src/til_settings.h +++ b/src/til_settings.h @@ -36,6 +36,7 @@ til_settings_t * til_settings_free(til_settings_t *settings); const char * til_settings_get_value(const til_settings_t *settings, const char *key, const til_setting_t **res_setting); const char * til_settings_get_key(const til_settings_t *settings, unsigned pos, const til_setting_t **res_setting); int til_settings_add_value(til_settings_t *settings, const char *key, const char *value, const til_setting_desc_t *desc); +void til_settings_reset_descs(til_settings_t *settings); int til_settings_get_and_describe_value(const til_settings_t *settings, const til_setting_desc_t *desc, const char **res_value, const til_setting_t **res_setting, const til_setting_desc_t **res_desc); char * til_settings_as_arg(const til_settings_t *settings); int til_settings_apply_desc_generators(const til_settings_t *settings, const til_setting_desc_generator_t generators[], unsigned n_generators, void *setup_context, const til_setting_t **res_setting, const til_setting_desc_t **res_desc); |