fix copytrace: set the byte order
authorJulien Desfossez <jdesfossez@efficios.com>
Wed, 17 May 2017 21:00:04 +0000 (17:00 -0400)
committerJérémie Galarneau <jeremie.galarneau@efficios.com>
Sun, 28 May 2017 16:57:44 +0000 (12:57 -0400)
Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
plugins/libctfcopytrace/ctfcopytrace.c

index 0689ee380c8651261c65fdffd17da10d64ff5594..9789e5c42df0e8c325afd7fb4847bf2c88f6e96c 100644 (file)
@@ -833,6 +833,7 @@ enum bt_component_status ctf_copy_trace(FILE *err, struct bt_ctf_trace *trace,
        enum bt_component_status ret = BT_COMPONENT_STATUS_OK;
        int field_count, i, int_ret;
        struct bt_ctf_field_type *header_type = NULL;
+       enum bt_ctf_byte_order order;
 
        field_count = bt_ctf_trace_get_environment_field_count(trace);
        for (i = 0; i < field_count; i++) {
@@ -870,6 +871,20 @@ enum bt_component_status ctf_copy_trace(FILE *err, struct bt_ctf_trace *trace,
                }
        }
 
+       order = bt_ctf_trace_get_native_byte_order(trace);
+       if (order == BT_CTF_BYTE_ORDER_UNKNOWN) {
+               fprintf(err, "[error] %s in %s:%d\n", __func__, __FILE__, __LINE__);
+               ret = BT_COMPONENT_STATUS_ERROR;
+               goto end;
+       }
+
+       ret = bt_ctf_trace_set_native_byte_order(writer_trace, order);
+       if (ret) {
+               fprintf(err, "[error] %s in %s:%d\n", __func__, __FILE__, __LINE__);
+               ret = BT_COMPONENT_STATUS_ERROR;
+               goto end;
+       }
+
        header_type = bt_ctf_trace_get_packet_header_type(writer_trace);
        if (!header_type) {
                fprintf(err, "[error] %s in %s:%d\n", __func__, __FILE__, __LINE__);
This page took 0.025022 seconds and 4 git commands to generate.