hooks: Allow to remove hooking (and/or trace)
[src/app-framework-binder.git] / src / afb-trace.c
index aaa1635..802015f 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2016, 2017, 2018 "IoT.bzh"
+ * Copyright (C) 2016-2019 "IoT.bzh"
  * Author José Bollo <jose.bollo@iot.bzh>
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -15,6 +15,8 @@
  * limitations under the License.
  */
 
+#if WITH_AFB_HOOK && WITH_AFB_TRACE
+
 #define _GNU_SOURCE
 
 #include <assert.h>
@@ -148,18 +150,8 @@ static void ctxt_error(char **errors, const char *format, ...)
 /* 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",
-                       (long long unsigned)hookid->time.tv_sec,
-                       (long unsigned)((hookid->time.tv_nsec + 500) / 1000));
-
-       return json_object_new_double_s(0.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
 }
 
 /* verbosity level name or NULL */
@@ -1615,3 +1607,5 @@ int afb_trace_drop(afb_req_t req, struct json_object *args, struct afb_trace *tr
        free(context.errors);
        return -1;
 }
+
+#endif