X-Git-Url: http://git.efficios.com/?p=babeltrace.git;a=blobdiff_plain;f=formats%2Fctf-text%2Fctf-text.c;h=f1c1f037a1e979d5301650bae1b39f805a9b44de;hp=992fbdf6c04833c2d901af798f2036fe767a916d;hb=ae23d232404678391ac28a103af7be54be03aa61;hpb=01c76b246be85b5d9c8e99813950fb194c9f714f diff --git a/formats/ctf-text/ctf-text.c b/formats/ctf-text/ctf-text.c index 992fbdf6..f1c1f037 100644 --- a/formats/ctf-text/ctf-text.c +++ b/formats/ctf-text/ctf-text.c @@ -21,7 +21,7 @@ #include #include #include -#include +#include #include #include #include @@ -34,7 +34,9 @@ #include #include -struct trace_descriptor *ctf_text_open_trace(const char *path, int flags); +struct trace_descriptor *ctf_text_open_trace(const char *path, int flags, + void (*move_pos_slow)(struct ctf_stream_pos *pos, size_t offset, + int whence), FILE *metadata_fp); void ctf_text_close_trace(struct trace_descriptor *descriptor); static @@ -102,35 +104,10 @@ int ctf_text_write_event(struct stream_pos *ppos, int field_nr_saved; struct ctf_event *event_class; struct ctf_stream_event *event; - uint64_t id = 0; + uint64_t id; int ret; - /* print event header */ - if (stream->stream_event_header) { - struct definition_integer *integer_definition; - struct definition *variant; - - /* lookup event id */ - integer_definition = lookup_integer(&stream->stream_event_header->p, "id", FALSE); - if (integer_definition) { - id = integer_definition->value._unsigned; - } else { - struct definition_enum *enum_definition; - - enum_definition = lookup_enum(&stream->stream_event_header->p, "id", FALSE); - if (enum_definition) { - id = enum_definition->integer->value._unsigned; - } - } - - variant = lookup_variant(&stream->stream_event_header->p, "v"); - if (variant) { - integer_definition = lookup_integer(variant, "id", FALSE); - if (integer_definition) { - id = integer_definition->value._unsigned; - } - } - } + id = stream->event_id; if (id >= stream_class->events_by_id->len) { fprintf(stdout, "[error] Event id %" PRIu64 " is outside range.\n", id); @@ -250,7 +227,9 @@ error: } -struct trace_descriptor *ctf_text_open_trace(const char *path, int flags) +struct trace_descriptor *ctf_text_open_trace(const char *path, int flags, + void (*move_pos_slow)(struct ctf_stream_pos *pos, size_t offset, + int whence), FILE *metadata_fp) { struct ctf_text_stream_pos *pos; FILE *fp;