summaryrefslogtreecommitdiffstats
path: root/src/core/settings.c
diff options
context:
space:
mode:
authorMichael Brown2022-02-16 01:12:55 +0100
committerMichael Brown2022-02-16 14:50:41 +0100
commit674963e2a63c2b16b60db815b6017b1c3f3e86c2 (patch)
tree3e636e8c56793834eabf3f7c716d41cccecf5723 /src/core/settings.c
parent[console] Ensure that US keyboard map appears at start of linker table (diff)
downloadipxe-674963e2a63c2b16b60db815b6017b1c3f3e86c2.tar.gz
ipxe-674963e2a63c2b16b60db815b6017b1c3f3e86c2.tar.xz
ipxe-674963e2a63c2b16b60db815b6017b1c3f3e86c2.zip
[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/core/settings.c')
-rw-r--r--src/core/settings.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/src/core/settings.c b/src/core/settings.c
index fcdf98d2..da075baa 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;
}
}