summaryrefslogtreecommitdiffstats
path: root/src/utils/list.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/utils/list.c')
-rw-r--r--src/utils/list.c24
1 files changed, 12 insertions, 12 deletions
diff --git a/src/utils/list.c b/src/utils/list.c
index da97e42..bd7eeac 100644
--- a/src/utils/list.c
+++ b/src/utils/list.c
@@ -28,39 +28,39 @@ void destroy_list(struct list *l)
}
}
-void add_elt(struct list *l, const char *key, json_object *value)
+void add_elt(struct list **l, const char *key, json_object *value)
{
struct list *new_elt = malloc(sizeof(struct list));
new_elt->key = key;
new_elt->value = value;
new_elt->next = NULL;
- if(l) {
- while(l->next != NULL) {
- l = l->next;
+ if(*l) {
+ while((*l)->next != NULL) {
+ *l = (*l)->next;
}
- l->next = new_elt;
+ (*l)->next = new_elt;
}
else {
- l = new_elt;
+ *l = new_elt;
}
}
-void add_key(struct list *l, const char *key)
+void add_key(struct list **l, const char *key)
{
struct list *new_elt = malloc(sizeof(struct list));
new_elt->key = key;
new_elt->value = NULL;
new_elt->next = NULL;
- if(l) {
- while(l->next != NULL) {
- l = l->next;
+ if(*l) {
+ while((*l)->next != NULL) {
+ *l = (*l)->next;
}
- l->next = new_elt;
+ (*l)->next = new_elt;
}
else {
- l = new_elt;
+ *l = new_elt;
}
}