summaryrefslogtreecommitdiff
path: root/usr/src/cmd/bhyve/config.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/cmd/bhyve/config.c')
-rw-r--r--usr/src/cmd/bhyve/config.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/usr/src/cmd/bhyve/config.c b/usr/src/cmd/bhyve/config.c
index 9383e49093..f8aace3b73 100644
--- a/usr/src/cmd/bhyve/config.c
+++ b/usr/src/cmd/bhyve/config.c
@@ -143,6 +143,17 @@ set_config_value_node(nvlist_t *parent, const char *name, const char *value)
}
void
+set_config_value_node_if_unset(nvlist_t *const parent, const char *const name,
+ const char *const value)
+{
+ if (get_config_value_node(parent, name) != NULL) {
+ return;
+ }
+
+ set_config_value_node(parent, name, value);
+}
+
+void
set_config_value(const char *path, const char *value)
{
const char *name;
@@ -174,6 +185,16 @@ set_config_value(const char *path, const char *value)
set_config_value_node(nvl, name, value);
}
+void
+set_config_value_if_unset(const char *const path, const char *const value)
+{
+ if (get_config_value(path) != NULL) {
+ return;
+ }
+
+ set_config_value(path, value);
+}
+
static const char *
get_raw_config_value(const char *path)
{