afb-export: Fix event handler of API
[src/app-framework-binder.git] / src / afb-trace.c
index e7ae9fc..7d4c81e 100644 (file)
@@ -169,6 +169,7 @@ static int get_flag(const char *name, struct flag flags[], int count)
 /* timestamp */
 static struct json_object *timestamp(const struct afb_hookid *hookid)
 {
+#if JSON_C_MAJOR_VERSION > 0 || JSON_C_MINOR_VERSION >= 12
        char ts[50];
 
        snprintf(ts, sizeof ts, "%llu.%06lu",
@@ -176,9 +177,9 @@ static struct json_object *timestamp(const struct afb_hookid *hookid)
                        (long unsigned)((hookid->time.tv_nsec + 500) / 1000));
 
        return json_object_new_double_s(0.0f, ts); /* the real value isn't used */
-#if 0
-       return json_object_new_string(ts);
-       return json_object_new_double_s(0f, ts); /* the real value isn't used */
+#else
+       return json_object_new_double((double)hookid->time.tv_sec + 
+                       (double)hookid->time.tv_nsec * .000000001);
 #endif
 }
 
@@ -1025,7 +1026,7 @@ static void hook_session(void *closure, const struct afb_hookid *hookid, struct
 
        va_start(ap, format);
        emit(closure, hookid, "session", "{ss ss}", format, ap,
-                                       "uuid", session,
+                                       "uuid", afb_session_uuid(session),
                                        "action", action);
        va_end(ap);
 }
@@ -1599,7 +1600,7 @@ static void add(void *closure, struct json_object *object)
                        wrap_json_optarray_for_all(event, add_evt_flags, &desc);
 
                if (session)
-                       wrap_json_optarray_for_all(event, add_session_flags, &desc);
+                       wrap_json_optarray_for_all(session, add_session_flags, &desc);
 
                if (global)
                        wrap_json_optarray_for_all(global, add_global_flags, &desc);