fix: optional fields
authorJulien Desfossez <jdesfossez@efficios.com>
Wed, 17 May 2017 20:54:00 +0000 (16:54 -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
plugins/lttng-utils/copy.c

index c2d5b4d1450e68bb97b81bec411536855fb11e33..4455dfb87132ce4705732c167cba2c9ac869cce6 100644 (file)
@@ -542,9 +542,7 @@ struct bt_ctf_field *ctf_copy_packet_context(FILE *err,
 
        packet_context = bt_ctf_packet_get_context(packet);
        if (!packet_context) {
-               fprintf(err, "[error] %s in %s:%d\n", __func__, __FILE__,
-                               __LINE__);
-               goto error;
+               goto end;
        }
 
        writer_stream_class = bt_ctf_stream_get_class(writer_stream);
index 2689a703a44aa978ea560d37cbbd7bea27092fed..14cc12742113df5b7b65fc9051120bfea3149147 100644 (file)
@@ -1474,21 +1474,18 @@ struct bt_ctf_event *debug_info_copy_event(FILE *err, struct bt_ctf_event *event
                goto error;
        }
 
+       /* Optional field, so it can fail silently. */
        field = bt_ctf_event_get_header(event);
-       if (!field) {
-               fprintf(err, "[error] %s in %s:%d\n", __func__,
-                               __FILE__, __LINE__);
-               goto error;
-       }
-
-       ret = ctf_copy_event_header(err, event, writer_event_class,
-                       writer_event, field);
-       if (ret) {
-               fprintf(err, "[error] %s in %s:%d\n", __func__,
-                               __FILE__, __LINE__);
-               goto error;
+       if (field) {
+               ret = ctf_copy_event_header(err, event, writer_event_class,
+                               writer_event, field);
+               if (ret) {
+                       fprintf(err, "[error] %s in %s:%d\n", __func__,
+                                       __FILE__, __LINE__);
+                       goto error;
+               }
+               BT_PUT(field);
        }
-       BT_PUT(field);
 
        /* Optional field, so it can fail silently. */
        field = bt_ctf_event_get_stream_event_context(event);
@@ -1506,8 +1503,13 @@ struct bt_ctf_event *debug_info_copy_event(FILE *err, struct bt_ctf_event *event
 
        /* Optional field, so it can fail silently. */
        field = bt_ctf_event_get_event_context(event);
-       copy_field = bt_ctf_field_copy(field);
-       if (copy_field) {
+       if (field) {
+               copy_field = bt_ctf_field_copy(field);
+               if (!copy_field) {
+                       fprintf(err, "[error] %s in %s:%d\n", __func__,
+                                       __FILE__, __LINE__);
+                       goto error;
+               }
                ret = bt_ctf_event_set_event_context(writer_event, copy_field);
                if (ret < 0) {
                        fprintf(err, "[error] %s in %s:%d\n", __func__,
@@ -1515,8 +1517,8 @@ struct bt_ctf_event *debug_info_copy_event(FILE *err, struct bt_ctf_event *event
                        goto error;
                }
                BT_PUT(copy_field);
+               BT_PUT(field);
        }
-       BT_PUT(field);
 
        field = bt_ctf_event_get_event_payload(event);
        if (!field) {
This page took 0.027005 seconds and 4 git commands to generate.