From: José Bollo Date: Fri, 2 Jun 2017 13:38:13 +0000 (+0200) Subject: Localize construction of afb_arg X-Git-Tag: dab_3.99.2~23 X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=commitdiff_plain;h=d3c80685ed6067f4899635c0328bbd8b70a2ed90;p=src%2Fapp-framework-binder.git Localize construction of afb_arg Change-Id: I08f1bc228c419243044949aa3c4094873932d3f2 Signed-off-by: José Bollo --- diff --git a/src/afb-msg-json.c b/src/afb-msg-json.c index f2922cb8..6aaec434 100644 --- a/src/afb-msg-json.c +++ b/src/afb-msg-json.c @@ -19,12 +19,9 @@ #include -#include - #include "afb-msg-json.h" #include "afb-context.h" - struct json_object *afb_msg_json_reply(const char *status, const char *info, struct json_object *resp, struct afb_context *context, const char *reqid) { json_object *msg, *request; @@ -89,22 +86,6 @@ struct json_object *afb_msg_json_event(const char *event, struct json_object *ob return msg; } -struct afb_arg afb_msg_json_get_arg(struct json_object *object, const char *name) -{ - struct afb_arg arg; - struct json_object *value; - - if (json_object_object_get_ex(object, name, &value)) { - arg.name = name; - arg.value = json_object_get_string(value); - } else { - arg.name = NULL; - arg.value = NULL; - } - arg.path = NULL; - return arg; -} - struct json_object *afb_msg_json_internal_error() { return afb_msg_json_reply_error("failed", "internal error", NULL, NULL); diff --git a/src/afb-msg-json.h b/src/afb-msg-json.h index 0434e209..b2f75f2d 100644 --- a/src/afb-msg-json.h +++ b/src/afb-msg-json.h @@ -27,6 +27,4 @@ extern struct json_object *afb_msg_json_reply_error(const char *status, const ch extern struct json_object *afb_msg_json_event(const char *event, struct json_object *object); -extern struct afb_arg afb_msg_json_get_arg(struct json_object *object, const char *name); - extern struct json_object *afb_msg_json_internal_error(); diff --git a/src/afb-xreq.c b/src/afb-xreq.c index fbed6ed1..9c4cab8f 100644 --- a/src/afb-xreq.c +++ b/src/afb-xreq.c @@ -63,10 +63,23 @@ static struct json_object *xreq_json_cb(void *closure) static struct afb_arg xreq_get_cb(void *closure, const char *name) { struct afb_xreq *xreq = closure; + struct afb_arg arg; + struct json_object *object, *value; + if (xreq->queryitf->get) - return xreq->queryitf->get(xreq, name); - else - return afb_msg_json_get_arg(xreq_json_cb(closure), name); + arg = xreq->queryitf->get(xreq, name); + else { + object = xreq_json_cb(closure); + if (json_object_object_get_ex(object, name, &value)) { + arg.name = name; + arg.value = json_object_get_string(value); + } else { + arg.name = NULL; + arg.value = NULL; + } + arg.path = NULL; + } + return arg; } static void xreq_success_cb(void *closure, struct json_object *obj, const char *info)