ctf.fs source: recurse to find multiples CTF traces
[babeltrace.git] / plugins / ctf / common / metadata / decoder.c
index a36a0860811af1770b684b8523615c06f75e1c44..6d60c619a2828e8db1d7e5025430b628844e445f 100644 (file)
@@ -265,7 +265,7 @@ int ctf_metadata_decoder_packetized_file_stream_to_buf(
 
 BT_HIDDEN
 struct ctf_metadata_decoder *ctf_metadata_decoder_create(FILE *err,
-               uint64_t clock_class_offset_ns)
+               uint64_t clock_class_offset_ns, const char *name)
 {
        struct ctf_metadata_decoder *mdec =
                g_new0(struct ctf_metadata_decoder, 1);
@@ -276,7 +276,7 @@ struct ctf_metadata_decoder *ctf_metadata_decoder_create(FILE *err,
 
        mdec->err_stream = err;
        mdec->visitor = ctf_visitor_generate_ir_create(err,
-               clock_class_offset_ns);
+               clock_class_offset_ns, name);
        if (!mdec->visitor) {
                ctf_metadata_decoder_destroy(mdec);
                mdec = NULL;
@@ -321,6 +321,11 @@ enum ctf_metadata_decoder_status ctf_metadata_decoder_decode(
                        goto end;
                }
 
+               if (strlen(buf) == 0) {
+                       /* An empty metadata packet is OK. */
+                       goto end;
+               }
+
                /* Convert the real file pointer to a memory file pointer */
                fp = bt_fmemopen(buf, strlen(buf), "rb");
                close_fp = true;
This page took 0.024199 seconds and 4 git commands to generate.