X-Git-Url: http://git.efficios.com/?p=babeltrace.git;a=blobdiff_plain;f=formats%2Fctf%2Fwriter%2Fwriter.c;h=3ef4dae94d373be3b8396731f1a9c7c52d6858d8;hp=a3ca263adeca7a9eb934ea6dd74432262e7e02b9;hb=66a12737a720a129c9b4e9b1d304b840b4738bff;hpb=024e61817685a20caceb4e3ef3bdc019a7af6b6e diff --git a/formats/ctf/writer/writer.c b/formats/ctf/writer/writer.c index a3ca263a..3ef4dae9 100644 --- a/formats/ctf/writer/writer.c +++ b/formats/ctf/writer/writer.c @@ -36,6 +36,7 @@ #include #include #include +#include #include #include #include @@ -357,7 +358,7 @@ const char *get_byte_order_string(int byte_order) } static -void append_trace_metadata(struct bt_ctf_writer *writer, +int append_trace_metadata(struct bt_ctf_writer *writer, struct metadata_context *context) { unsigned char *uuid = writer->uuid; @@ -382,10 +383,14 @@ void append_trace_metadata(struct bt_ctf_writer *writer, g_string_assign(context->field_name, ""); ret = bt_ctf_field_type_serialize(writer->trace_packet_header_type, context); - assert(!ret); + if (ret) { + goto end; + } context->current_indentation_level--; g_string_append(context->string, ";\n};\n\n"); +end: + return ret; } static @@ -429,7 +434,9 @@ char *bt_ctf_writer_get_metadata_string(struct bt_ctf_writer *writer) context->field_name = g_string_sized_new(DEFAULT_IDENTIFIER_SIZE); context->string = g_string_sized_new(DEFAULT_METADATA_STRING_SIZE); g_string_append(context->string, "/* CTF 1.8 */\n\n"); - append_trace_metadata(writer, context); + if (append_trace_metadata(writer, context)) { + goto error; + } append_env_metadata(writer, context); g_ptr_array_foreach(writer->clocks, (GFunc)bt_ctf_clock_serialize, context); @@ -717,7 +724,8 @@ void stream_flush_cb(struct bt_ctf_stream *stream, struct bt_ctf_writer *writer) stream_id = bt_ctf_field_structure_get_field( writer->trace_packet_header, "stream_id"); - bt_ctf_field_unsigned_integer_set_value(stream_id, stream->id); + bt_ctf_field_unsigned_integer_set_value(stream_id, + stream->stream_class->id); bt_ctf_field_put(stream_id); /* Write the trace_packet_header */