X-Git-Url: http://git.efficios.com/?p=babeltrace.git;a=blobdiff_plain;f=formats%2Fctf%2Fwriter%2Fwriter.c;fp=formats%2Fctf%2Fwriter%2Fwriter.c;h=7b59d16cf1b71745883269d2287401003816e31d;hp=54eab39bb54d31fa251a74125f8a0d75222679ba;hb=3ea3311568f0b3703e71194a0bd2e899c876a26e;hpb=471381ffeffe7f8ecf10b1b7adc03fedecb86950 diff --git a/formats/ctf/writer/writer.c b/formats/ctf/writer/writer.c index 54eab39b..7b59d16c 100644 --- a/formats/ctf/writer/writer.c +++ b/formats/ctf/writer/writer.c @@ -290,10 +290,23 @@ int create_stream_file(struct bt_ctf_writer *writer, int fd; GString *filename = g_string_new(stream->stream_class->name->str); + if (stream->stream_class->name->len == 0) { + int64_t ret; + + ret = bt_ctf_stream_class_get_id(stream->stream_class); + if (ret < 0) { + fd = -1; + goto error; + } + + g_string_printf(filename, "stream_%" PRId64, ret); + } + g_string_append_printf(filename, "_%" PRIu32, stream->id); fd = openat(writer->trace_dir_fd, filename->str, O_RDWR | O_CREAT | O_TRUNC, S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP); +error: g_string_free(filename, TRUE); return fd; }