afb-trace: Fix compiling error on old json-c 85/15385/1
authorJosé Bollo <jose.bollo@iot.bzh>
Fri, 13 Jul 2018 13:46:01 +0000 (15:46 +0200)
committerJosé Bollo <jose.bollo@iot.bzh>
Fri, 13 Jul 2018 14:44:13 +0000 (16:44 +0200)
Versions of json-c older than 0.12 doesn't have
the function json_object_new_double_s.

Change-Id: If34c36ddcfabb3796aeb6739cd150e2b3e763679
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
src/afb-trace.c

index e7ae9fc..1b82f2b 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
 }