X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fafb-api-dbus.c;fp=src%2Fafb-api-dbus.c;h=227658f4f9df1661b57a2e84cd91185c54b9b671;hb=77ca8b40f2d0c8b1cbf9960bd5a5b2aec36fef38;hp=a2c9b086b4a4b4dceacacf424b9f804398597a4a;hpb=e17ae412245ba9afb33ff6a0f1f665b4d66d4da4;p=src%2Fapp-framework-binder.git diff --git a/src/afb-api-dbus.c b/src/afb-api-dbus.c index a2c9b086..227658f4 100644 --- a/src/afb-api-dbus.c +++ b/src/afb-api-dbus.c @@ -27,6 +27,9 @@ #include #include +#if !defined(JSON_C_TO_STRING_NOSLASHESCAPE) +#define JSON_C_TO_STRING_NOSLASHESCAPE 0 +#endif #include @@ -43,6 +46,7 @@ #include "afb-xreq.h" #include "verbose.h" + static const char DEFAULT_PATH_PREFIX[] = "/org/agl/afb/api/"; struct dbus_memo; @@ -810,7 +814,7 @@ void dbus_req_raw_reply(struct afb_xreq *xreq, struct json_object *obj, const ch int rc; rc = sd_bus_reply_method_return(dreq->message, "sss", - obj ? json_object_to_json_string_ext(obj, JSON_C_TO_STRING_PLAIN) : "", + obj ? json_object_to_json_string_ext(obj, JSON_C_TO_STRING_PLAIN|JSON_C_TO_STRING_NOSLASHESCAPE) : "", error ? : "", info ? : ""); if (rc < 0) @@ -892,7 +896,7 @@ static void afb_api_dbus_server_event_remove(void *closure, const char *event, i static void afb_api_dbus_server_event_push(void *closure, const char *event, int eventid, struct json_object *object) { - const char *data = json_object_to_json_string_ext(object, JSON_C_TO_STRING_PLAIN); + const char *data = json_object_to_json_string_ext(object, JSON_C_TO_STRING_PLAIN|JSON_C_TO_STRING_NOSLASHESCAPE); afb_api_dbus_server_event_send(closure, '!', event, eventid, data, 0); json_object_put(object); } @@ -904,7 +908,7 @@ static void afb_api_dbus_server_event_broadcast(void *closure, const char *event api = closure; rc = sd_bus_emit_signal(api->sdbus, api->path, api->name, "broadcast", - "ss", event, json_object_to_json_string_ext(object, JSON_C_TO_STRING_PLAIN)); + "ss", event, json_object_to_json_string_ext(object, JSON_C_TO_STRING_PLAIN|JSON_C_TO_STRING_NOSLASHESCAPE)); if (rc < 0) ERROR("error while broadcasting event %s", event); json_object_put(object);