X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fafb-trace.c;h=0e285e140516b9a90d5c21bbda08fe96f1d1aacd;hb=a3d934b7608c6c88dd891cb6e05bb107718687e1;hp=a603951ce170251212534924f9272541519b42e0;hpb=4521c1e7ae5371ab9d639adc617d17fb4e8ded0c;p=src%2Fapp-framework-binder.git diff --git a/src/afb-trace.c b/src/afb-trace.c index a603951c..0e285e14 100644 --- a/src/afb-trace.c +++ b/src/afb-trace.c @@ -489,7 +489,7 @@ static void hook_xreq_get_uid(void *closure, const struct afb_hookid *hookid, co static void hook_xreq_get_client_info(void *closure, const struct afb_hookid *hookid, const struct afb_xreq *xreq, struct json_object *result) { - hook_xreq(closure, hookid, xreq, "get_client_info", "{so}", + hook_xreq(closure, hookid, xreq, "get_client_info", "{sO}", "result", result); } @@ -685,33 +685,42 @@ static void hook_api_event_make(void *closure, const struct afb_hookid *hookid, static void hook_api_rootdir_get_fd(void *closure, const struct afb_hookid *hookid, const struct afb_export *export, int result) { - char path[PATH_MAX]; + char path[PATH_MAX], proc[100]; + const char *key, *val; if (result >= 0) { - sprintf(path, "/proc/self/fd/%d", result); - readlink(path, path, sizeof path); + snprintf(proc, sizeof proc, "/proc/self/fd/%d", result); + readlink(proc, path, sizeof path); + key = "path"; + val = path; + } else { + key = "error"; + val = strerror(errno); } - hook_api(closure, hookid, export, "rootdir_get_fd", "{ss}", - result < 0 ? "path" : "error", - result < 0 ? strerror(errno) : path); + hook_api(closure, hookid, export, "rootdir_get_fd", "{ss}", key, val); } static void hook_api_rootdir_open_locale(void *closure, const struct afb_hookid *hookid, const struct afb_export *export, const char *filename, int flags, const char *locale, int result) { - char path[PATH_MAX]; + char path[PATH_MAX], proc[100]; + const char *key, *val; if (result >= 0) { - sprintf(path, "/proc/self/fd/%d", result); - readlink(path, path, sizeof path); + snprintf(proc, sizeof proc, "/proc/self/fd/%d", result); + readlink(proc, path, sizeof path); + key = "path"; + val = path; + } else { + key = "error"; + val = strerror(errno); } hook_api(closure, hookid, export, "rootdir_open_locale", "{ss si ss* ss}", "file", filename, "flags", flags, "locale", locale, - result < 0 ? "path" : "error", - result < 0 ? strerror(errno) : path); + key, val); } static void hook_api_queue_job(void *closure, const struct afb_hookid *hookid, const struct afb_export *export, void (*callback)(int signum, void *arg), void *argument, void *group, int timeout, int result)