From: Michael Brown Date: Wed, 16 Feb 2022 00:12:55 +0000 (+0000) Subject: [settings] Always process all settings applicators X-Git-Tag: secboot-ioactive-20221109~77 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=674963e2a63c2b16b60db815b6017b1c3f3e86c2;p=thirdparty%2Fipxe.git [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 --- 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; } }