From 674963e2a63c2b16b60db815b6017b1c3f3e86c2 Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Wed, 16 Feb 2022 00:12:55 +0000 Subject: [settings] Always process all settings applicators Settings applicators are entirely independent, and there is no reason why a failure in one applicator should prevent other applicators from being processed. Signed-off-by: Michael Brown --- src/core/settings.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/src/core/settings.c b/src/core/settings.c index fcdf98d2b..da075baa8 100644 --- a/src/core/settings.c +++ b/src/core/settings.c @@ -411,9 +411,8 @@ struct settings * find_settings ( const char *name ) { /** * Apply all settings * - * @ret rc Return status code */ -static int apply_settings ( void ) { +static void apply_settings ( void ) { struct settings_applicator *applicator; int rc; @@ -422,11 +421,9 @@ static int apply_settings ( void ) { if ( ( rc = applicator->apply() ) != 0 ) { DBG ( "Could not apply settings using applicator " "%p: %s\n", applicator, strerror ( rc ) ); - return rc; + /* Continue to apply remaining settings */ } } - - return 0; } /** @@ -644,8 +641,7 @@ int store_setting ( struct settings *settings, const struct setting *setting, */ for ( ; settings ; settings = settings->parent ) { if ( settings == &settings_root ) { - if ( ( rc = apply_settings() ) != 0 ) - return rc; + apply_settings(); break; } } -- cgit