X-Git-Url: https://git.wpitchoune.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fpsensor_json.c;h=1f3a4790db0c2be997ca878f33c35411c8ff197c;hb=60f6135a421095b240b984898e555df284f3b77f;hp=1d4668c26cdce0db2ae9591b7225a6e5a6ed17d3;hpb=2b51051578ef29b031d0927388c4d62baa3c525e;p=psensor.git diff --git a/src/lib/psensor_json.c b/src/lib/psensor_json.c index 1d4668c..1f3a479 100644 --- a/src/lib/psensor_json.c +++ b/src/lib/psensor_json.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010-2012 jeanfi@gmail.com + * Copyright (C) 2010-2014 jeanfi@gmail.com * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as @@ -19,6 +19,8 @@ #include #include +#include + #include "psensor_json.h" #include "url.h" @@ -39,7 +41,7 @@ measure_to_json_object(struct measure *m) json_object_object_add(o, ATT_MEASURE_VALUE, - json_object_new_double(m->value.d_num)); + json_object_new_double(m->value)); json_object_object_add(o, ATT_MEASURE_TIME, json_object_new_int((m->time).tv_sec)); return o; @@ -89,7 +91,7 @@ static json_object *sensor_to_json(struct psensor *s) mo = json_object_new_object(); json_object_object_add(mo, ATT_MEASURE_VALUE, - json_object_new_double(m->value.d_num)); + json_object_new_double(m->value)); json_object_object_add(mo, ATT_MEASURE_TIME, json_object_new_int((m->time).tv_sec)); json_object_object_add(obj, ATT_SENSOR_LAST_MEASURE, mo); @@ -140,9 +142,9 @@ struct psensor *psensor_new_from_json(json_object *o, struct psensor *s; char *eid, *url; - oid = json_object_object_get(o, "id"); - oname = json_object_object_get(o, "name"); - otype = json_object_object_get(o, "type"); + json_object_object_get_ex(o, "id", &oid); + json_object_object_get_ex(o, "name", &oname); + json_object_object_get_ex(o, "type", &otype); eid = url_encode(json_object_get_string(oid)); url = malloc(strlen(sensors_url) + 1 + strlen(eid) + 1); @@ -150,6 +152,7 @@ struct psensor *psensor_new_from_json(json_object *o, s = psensor_create(strdup(url), strdup(json_object_get_string(oname)), + NULL, json_object_get_int(otype) | SENSOR_TYPE_REMOTE, values_max_length); s->url = url;