aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/conf.c10
-rw-r--r--src/conf.h7
2 files changed, 17 insertions, 0 deletions
diff --git a/src/conf.c b/src/conf.c
index 9dfebc05..7560c02b 100644
--- a/src/conf.c
+++ b/src/conf.c
@@ -23,6 +23,7 @@
#include <glib.h>
+#include <assert.h>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
@@ -349,6 +350,15 @@ void config_read_file(const char *file)
fclose(fp);
}
+void
+config_add_param(const char *name, struct config_param *param)
+{
+ struct config_entry *entry = config_entry_get(name);
+ assert(entry != NULL);
+
+ entry->params = g_slist_append(entry->params, param);
+}
+
struct config_param *
config_get_next_param(const char *name, const struct config_param * last)
{
diff --git a/src/conf.h b/src/conf.h
index 42ac6f22..5e191815 100644
--- a/src/conf.h
+++ b/src/conf.h
@@ -91,6 +91,13 @@ void config_global_finish(void);
void config_read_file(const char *file);
+/**
+ * Adds a new configuration parameter. The name must be registered
+ * with registerConfigParam().
+ */
+void
+config_add_param(const char *name, struct config_param *param);
+
/* don't free the returned value
set _last_ to NULL to get first entry */
struct config_param *