aboutsummaryrefslogtreecommitdiff
path: root/src/librc/librc-misc.c
diff options
context:
space:
mode:
authorWilliam Hubbs <w.d.hubbs@gmail.com>2015-11-05 11:08:29 -0600
committerWilliam Hubbs <w.d.hubbs@gmail.com>2015-11-05 11:20:57 -0600
commitc831f1f994e187afd8edfff15e4063b99440bbcb (patch)
tree56b153a7ec14d4e51062337cb9ee5f4daa05ac18 /src/librc/librc-misc.c
parent591aea28215a8b5ad8660184dc6f6f15ff0c18b4 (diff)
librc: rework overriding rc.conf options from the kcl
Rename the rc_conf_override function to describe its purpose better, drop one conditional compile by making it available everywhere, and move the call to it after the optional rc.conf.d directory is processed.
Diffstat (limited to 'src/librc/librc-misc.c')
-rw-r--r--src/librc/librc-misc.c19
1 files changed, 8 insertions, 11 deletions
diff --git a/src/librc/librc-misc.c b/src/librc/librc-misc.c
index 2c736635..98e6f200 100644
--- a/src/librc/librc-misc.c
+++ b/src/librc/librc-misc.c
@@ -280,11 +280,14 @@ static void rc_config_set_value(RC_STRINGLIST *config, char *value)
}
/*
- * Override some specific rc.conf options on the kernel command line
+ * Override some specific rc.conf options on the kernel command line.
+ * I only know how to do this in Linux, so if someone wants to supply
+ * a patch for this on *BSD or tell me how to write the code to do this,
+ * any suggestions are welcome.
*/
-#ifdef __linux__
-static RC_STRINGLIST *rc_config_override(RC_STRINGLIST *config)
+static RC_STRINGLIST *rc_config_kcl(RC_STRINGLIST *config)
{
+#ifdef __linux__
RC_STRINGLIST *overrides;
RC_STRING *cline, *override, *config_np;
char *tmp = NULL;
@@ -333,9 +336,9 @@ static RC_STRINGLIST *rc_config_override(RC_STRINGLIST *config)
}
rc_stringlist_free(overrides);
+#endif
return config;
}
-#endif
static RC_STRINGLIST * rc_config_directory(RC_STRINGLIST *config)
{
@@ -387,13 +390,6 @@ rc_config_load(const char *file)
}
rc_stringlist_free(list);
-#ifdef __linux__
- /* Only override rc.conf settings */
- if (strcmp(file, RC_CONF) == 0) {
- config = rc_config_override(config);
- }
-#endif
-
return config;
}
librc_hidden_def(rc_config_load)
@@ -444,6 +440,7 @@ rc_conf_value(const char *setting)
}
rc_conf = rc_config_directory(rc_conf);
+ rc_conf = rc_config_kcl(rc_conf);
/* Convert old uppercase to lowercase */
TAILQ_FOREACH(s, rc_conf, entries) {