From 0cbc4012e85c275c64ad551ba4484ee5f505fe4c Mon Sep 17 00:00:00 2001
From: Max Kellermann <max@duempel.org>
Date: Fri, 19 Jun 2009 09:02:14 +0200
Subject: conf: added "used" flag to struct block_param

---
 src/conf.c |  5 ++++-
 src/conf.h | 12 ++++++++++++
 2 files changed, 16 insertions(+), 1 deletion(-)

diff --git a/src/conf.c b/src/conf.c
index 20cf4be8e..ac08d7845 100644
--- a/src/conf.c
+++ b/src/conf.c
@@ -139,6 +139,7 @@ config_new_param(const char *value, int line)
 
 	ret->num_block_params = 0;
 	ret->block_params = NULL;
+	ret->used = false;
 
 	return ret;
 }
@@ -210,6 +211,7 @@ config_add_block_param(struct config_param * param, const char *name,
 	bp->name = g_strdup(name);
 	bp->value = g_strdup(value);
 	bp->line = line;
+	bp->used = false;
 }
 
 static struct config_param *
@@ -356,7 +358,7 @@ config_get_next_param(const char *name, const struct config_param * last)
 		return NULL;
 
 	param = node->data;
-
+	param->used = true;
 	return param;
 }
 
@@ -418,6 +420,7 @@ config_get_block_param(const struct config_param * param, const char *name)
 	for (unsigned i = 0; i < param->num_block_params; i++) {
 		if (0 == strcmp(name, param->block_params[i].name)) {
 			struct block_param *bp = &param->block_params[i];
+			bp->used = true;
 			return bp;
 		}
 	}
diff --git a/src/conf.h b/src/conf.h
index 017a8c310..1b3e074e1 100644
--- a/src/conf.h
+++ b/src/conf.h
@@ -75,6 +75,12 @@ struct block_param {
 	char *name;
 	char *value;
 	int line;
+
+	/**
+	 * This flag is false when nobody has queried the value of
+	 * this option yet.
+	 */
+	bool used;
 };
 
 struct config_param {
@@ -83,6 +89,12 @@ struct config_param {
 
 	struct block_param *block_params;
 	unsigned num_block_params;
+
+	/**
+	 * This flag is false when nobody has queried the value of
+	 * this option yet.
+	 */
+	bool used;
 };
 
 void config_global_init(void);
-- 
cgit v1.2.3