aboutsummaryrefslogtreecommitdiffstats
path: root/src/utils
diff options
context:
space:
mode:
authorRomain Forlot <romain.forlot@iot.bzh>2018-04-14 01:57:17 +0200
committerSebastien Douheret <sebastien.douheret@iot.bzh>2018-07-10 23:41:14 +0200
commit5d50f0426699a06b5720e10f1feaef35c8b59f57 (patch)
tree34641293f0eef907c89ffa1cb6d6b80b863106fc /src/utils
parentbe6447ca2038c84d2e946e27b897815e95c48e34 (diff)
Improve writer/reader processing
- Handle indefinite number and kind of tags and fields for a metric - Include only once header files - Cleaning and ordering code Change-Id: I14a4f0e6e1626971bff73ce7d9ac067bda69cfc4 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Diffstat (limited to 'src/utils')
-rw-r--r--src/utils/list.c24
-rw-r--r--src/utils/list.h4
2 files changed, 14 insertions, 14 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;
}
}
diff --git a/src/utils/list.h b/src/utils/list.h
index dcb01bd..7cacbed 100644
--- a/src/utils/list.h
+++ b/src/utils/list.h
@@ -27,8 +27,8 @@ struct list {
};
void destroy_list(struct list *l);
-void add_elt(struct list *l, const char *key, json_object *value);
-void add_key(struct list *l, const char *key);
+void add_elt(struct list **l, const char *key, json_object *value);
+void add_key(struct list **l, const char *key);
struct list *get_elt(struct list *l, int index);
struct list *find_elt_from_key(struct list *l, const char *key);
json_object *find_key_value(struct list *l, const char *key);