aboutsummaryrefslogtreecommitdiff
path: root/src/ConfigData.hxx
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2013-01-30 22:37:17 +0100
committerMax Kellermann <max@duempel.org>2013-01-30 22:39:24 +0100
commit378ebad1c8d7079b41319600f13c1c884d6c693a (patch)
treef65564ce3a0fffde7fd0bdbf1c9040de3a15041e /src/ConfigData.hxx
parente44e0fab9f0851d5a369778923c03701e31b9e79 (diff)
ConfigData: use simple linked list instead of GSList
Diffstat (limited to 'src/ConfigData.hxx')
-rw-r--r--src/ConfigData.hxx11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/ConfigData.hxx b/src/ConfigData.hxx
index 053cf3b3..f3e661b2 100644
--- a/src/ConfigData.hxx
+++ b/src/ConfigData.hxx
@@ -25,7 +25,6 @@
#include "gcc.h"
#ifdef __cplusplus
-#include <glib.h>
#include <string>
#include <array>
#include <vector>
@@ -54,6 +53,12 @@ struct block_param {
#endif
struct config_param {
+ /**
+ * The next config_param with the same name. The destructor
+ * deletes the whole chain.
+ */
+ struct config_param *next;
+
char *value;
unsigned int line;
@@ -67,7 +72,7 @@ struct config_param {
bool used;
config_param(int _line=-1)
- :value(nullptr), line(_line), used(false) {}
+ :next(nullptr), value(nullptr), line(_line), used(false) {}
gcc_nonnull_all
config_param(const char *_value, int _line=-1);
@@ -92,7 +97,7 @@ struct config_param {
#ifdef __cplusplus
struct ConfigData {
- std::array<GSList *, std::size_t(CONF_MAX)> params;
+ std::array<config_param *, std::size_t(CONF_MAX)> params;
};
#endif