summaryrefslogtreecommitdiffstats
path: root/src/daemon/settings.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/daemon/settings.c')
-rw-r--r--src/daemon/settings.c31
1 files changed, 28 insertions, 3 deletions
diff --git a/src/daemon/settings.c b/src/daemon/settings.c
index acbf40d..355fe1d 100644
--- a/src/daemon/settings.c
+++ b/src/daemon/settings.c
@@ -129,8 +129,33 @@ static int setting_readconf(const char * const path)
/* TODO: stub! */
static int setting_handle_config_entry(const char * const entry, const char * const value)
{
- printf( "key: %s\n"
- "value: %s\n", entry, value);
+ size_t i;
- return 0;
+ for (i = 0; i < sizeof(ent_table)/sizeof(*ent_table); ++i) {
+ if (!(strcmp(entry, ent_table[i].name))) {
+ ent_table[0].set(value);
+ return 0;
+ }
+ }
+
+ return 1;
+}
+
+static void set_daemonize(const void * const arg)
+{
+ const char * const a = arg;
+
+ atoi(a) ? set_flag(flag_daemonize) : unset_flag(flag_daemonize);
+}
+
+/* TODO: stub! */
+static void set_port(const void * const arg)
+{
+ (void) arg;
+}
+
+/* TODO: stub! */
+static void set_verbosity(const void * const arg)
+{
+ (void) arg;
}