diff options
author | José Bollo <jose.bollo@iot.bzh> | 2015-12-22 17:25:45 +0100 |
---|---|---|
committer | José Bollo <jose.bollo@iot.bzh> | 2015-12-22 17:29:38 +0100 |
commit | ce714369c64051d5307ef7ac9af2c53b6edfbb4a (patch) | |
tree | 1ec943646d8e43ccbadde88d1a165a7ea38ff31e /src/utils-jbus.c | |
parent | e2f138ca6b0f61d1a1cde1fd305dd7f0aaf4aa0e (diff) |
refactoring and moving forward
Rename af-... files to afm-...
Add system daemon draft
Change-Id: I3f8b69ac9cc5af54be34b4ad11a512c57c0230b6
Diffstat (limited to 'src/utils-jbus.c')
-rw-r--r-- | src/utils-jbus.c | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/src/utils-jbus.c b/src/utils-jbus.c index 7e65723..d58def9 100644 --- a/src/utils-jbus.c +++ b/src/utils-jbus.c @@ -272,6 +272,7 @@ static DBusHandlerResult incoming_resp(DBusConnection *connection, DBusMessage * reply = json_tokener_parse(str); status = reply ? 0 : -1; jrw->onresp_j(iserror ? -1 : status, reply, jrw->data); + json_object_put(reply); } free(jrw); @@ -318,6 +319,7 @@ static DBusHandlerResult incoming_call(DBusConnection *connection, DBusMessage * if (query == NULL) return reply_invalid_request(jreq); srv->oncall_j(jreq, query); + json_object_put(query); } return DBUS_HANDLER_RESULT_HANDLED; } @@ -350,8 +352,10 @@ static DBusHandlerResult incoming_signal(DBusConnection *connection, DBusMessage else { /* handling json only */ obj = json_tokener_parse(str); - if (obj != NULL) + if (obj != NULL) { sig->onsignal_j(obj); + json_object_put(obj); + } } } return DBUS_HANDLER_RESULT_HANDLED; @@ -607,11 +611,17 @@ char *jbus_call_ss_sync(struct jbus *jbus, const char *method, const char *query struct json_object *jbus_call_sj_sync(struct jbus *jbus, const char *method, const char *query) { - const char *str = jbus_call_ss_sync(jbus, method, query); - return str ? json_tokener_parse(str) : NULL; + struct json_object *obj; + char *str = jbus_call_ss_sync(jbus, method, query); + if (str == NULL) + obj = NULL; + else { + obj = json_tokener_parse(str); + free(str); + } + return obj; } - char *jbus_call_js_sync(struct jbus *jbus, const char *method, struct json_object *query) { const char *str = json_object_to_json_string(query); |