Cleanup: Move build logic to python-plugin-provider Makefile
[babeltrace.git] / lib / ctf-writer / fields.c
index 13b1cb66da9c6144b21efbaad57002a91285745d..a0f00a9bcb143301e69276d867f43362e45caf3c 100644 (file)
  */
 
 #define BT_LOG_TAG "CTF-WRITER-FIELDS"
-#include <babeltrace/lib-logging-internal.h>
-
-#include <babeltrace/assert-pre-internal.h>
-#include <babeltrace/align-internal.h>
-#include <babeltrace/assert-internal.h>
-#include <babeltrace/compat/fcntl-internal.h>
-#include <babeltrace/compiler-internal.h>
-#include <babeltrace/ctf-writer/field-types-internal.h>
-#include <babeltrace/ctf-writer/fields-internal.h>
-#include <babeltrace/endian-internal.h>
-#include <babeltrace/ctf-writer/object-internal.h>
-#include <babeltrace/ctf-writer/object.h>
-#include <babeltrace/ctfser-internal.h>
+#include <babeltrace2/lib-logging-internal.h>
+
+#include <babeltrace2/assert-pre-internal.h>
+#include <babeltrace2/align-internal.h>
+#include <babeltrace2/assert-internal.h>
+#include <babeltrace2/compat/fcntl-internal.h>
+#include <babeltrace2/compiler-internal.h>
+#include <babeltrace2/ctf-writer/field-types-internal.h>
+#include <babeltrace2/ctf-writer/fields-internal.h>
+#include <babeltrace2/endian-internal.h>
+#include <babeltrace2/ctf-writer/object-internal.h>
+#include <babeltrace2/ctf-writer/object.h>
+#include <babeltrace2/ctfser-internal.h>
 #include <float.h>
 #include <inttypes.h>
 #include <inttypes.h>
@@ -882,7 +882,6 @@ int bt_ctf_field_integer_serialize(struct bt_ctf_field_common *field,
        struct bt_ctf_field_common_integer *int_field =
                BT_CTF_FROM_COMMON(field);
        enum bt_ctf_byte_order byte_order;
-       union bt_ctfser_int_val value;
 
        BT_ASSERT_PRE_CTF_FIELD_COMMON_IS_SET(field, "Integer field");
        BT_LOGV("Serializing CTF writer integer field: addr=%p, native-bo=%s",
@@ -893,12 +892,20 @@ int bt_ctf_field_integer_serialize(struct bt_ctf_field_common *field,
                byte_order = native_byte_order;
        }
 
-       value.i = int_field->payload.signd;
-       value.u = int_field->payload.unsignd;
-       ret = bt_ctfser_write_int(ctfser, value, int_type->common.alignment,
-               int_type->size, int_type->is_signed,
-               byte_order == BT_CTF_BYTE_ORDER_LITTLE_ENDIAN ?
-                       LITTLE_ENDIAN : BIG_ENDIAN);
+       if (int_type->is_signed) {
+               ret = bt_ctfser_write_signed_int(ctfser,
+                       int_field->payload.signd, int_type->common.alignment,
+                       int_type->size,
+                       byte_order == BT_CTF_BYTE_ORDER_LITTLE_ENDIAN ?
+                               LITTLE_ENDIAN : BIG_ENDIAN);
+       } else {
+               ret = bt_ctfser_write_unsigned_int(ctfser,
+                       int_field->payload.unsignd, int_type->common.alignment,
+                       int_type->size,
+                       byte_order == BT_CTF_BYTE_ORDER_LITTLE_ENDIAN ?
+                               LITTLE_ENDIAN : BIG_ENDIAN);
+       }
+
        if (unlikely(ret)) {
                BT_LOGE("Cannot serialize integer field: ret=%d", ret);
                goto end;
This page took 0.024478 seconds and 4 git commands to generate.