*
* Babeltrace CTF Writer
*
- * Copyright 2013 EfficiOS Inc.
+ * Copyright 2013, 2014 Jérémie Galarneau <jeremie.galarneau@efficios.com>
*
* Author: Jérémie Galarneau <jeremie.galarneau@efficios.com>
*
#include <babeltrace/ctf-writer/writer.h>
#include <babeltrace/ctf-writer/clock.h>
-#include <babeltrace/ctf-writer/clock-internal.h>
+#include <babeltrace/ctf-ir/clock-internal.h>
#include <babeltrace/ctf-writer/writer-internal.h>
-#include <babeltrace/ctf-writer/event-types-internal.h>
-#include <babeltrace/ctf-writer/event-fields-internal.h>
+#include <babeltrace/ctf-ir/event-types-internal.h>
+#include <babeltrace/ctf-ir/event-fields-internal.h>
#include <babeltrace/ctf-writer/functor-internal.h>
+#include <babeltrace/ctf-ir/stream-class-internal.h>
#include <babeltrace/ctf-writer/stream-internal.h>
#include <babeltrace/ctf-writer/stream.h>
#include <babeltrace/compiler.h>
}
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;
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
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);