summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorailin-nemui <ailin-nemui@users.noreply.github.com>2016-12-08 12:29:52 +0100
committerGitHub <noreply@github.com>2016-12-08 12:29:52 +0100
commit618c8bd10e45b3132d356e2f6bec290a63b8a9fa (patch)
tree49b71b2e128e97b5e15498382d6bf4c6fd4255eb /src
parent964f423fed72914fdfc1aed9993a5c63894592bb (diff)
parent7fb84b5b7d471d62333a94bc0d6e5032ede7c2c7 (diff)
downloadirssi-618c8bd10e45b3132d356e2f6bec290a63b8a9fa.zip
Merge pull request #581 from LemonBoy/set-contract
Enforce the is_node_list contract in lib-config setters.
Diffstat (limited to 'src')
-rw-r--r--src/lib-config/set.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/lib-config/set.c b/src/lib-config/set.c
index 7ca55871..0de6c503 100644
--- a/src/lib-config/set.c
+++ b/src/lib-config/set.c
@@ -82,6 +82,7 @@ void config_node_clear(CONFIG_REC *rec, CONFIG_NODE *node)
void config_nodes_remove_all(CONFIG_REC *rec)
{
g_return_if_fail(rec != NULL);
+ g_return_if_fail(is_node_list(rec->mainnode));
while (rec->mainnode->value != NULL)
config_node_remove(rec, rec->mainnode, ((GSList *) rec->mainnode->value)->data);
@@ -94,6 +95,7 @@ void config_node_set_str(CONFIG_REC *rec, CONFIG_NODE *parent, const char *key,
g_return_if_fail(rec != NULL);
g_return_if_fail(parent != NULL);
+ g_return_if_fail(is_node_list(parent));
no_key = key == NULL;
node = no_key ? NULL : config_node_find(parent, key);