diff options
-rw-r--r-- | src/conf.c | 10 | ||||
-rw-r--r-- | src/conf.h | 7 |
2 files changed, 17 insertions, 0 deletions
diff --git a/src/conf.c b/src/conf.c index 9dfebc059..7560c02ba 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 42ac6f228..5e191815f 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 * |