diff options
author | Michael Brown <mcb30@ipxe.org> | 2022-02-16 00:12:55 +0000 |
---|---|---|
committer | Michael Brown <mcb30@ipxe.org> | 2022-02-16 13:50:41 +0000 |
commit | 674963e2a63c2b16b60db815b6017b1c3f3e86c2 (patch) | |
tree | 3e636e8c56793834eabf3f7c716d41cccecf5723 /src | |
parent | 11e17991d0729fd17ab06d94ec67a8ca48032af4 (diff) | |
download | ipxe-674963e2a63c2b16b60db815b6017b1c3f3e86c2.tar.gz |
[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 <mcb30@ipxe.org>
Diffstat (limited to 'src')
-rw-r--r-- | src/core/settings.c | 10 |
1 files 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; } } |