metadata: Support empty structures
[babeltrace.git] / formats / ctf / metadata / ctf-visitor-generate-io-struct.c
index bdf7125d5cb31ac20f691ecf807bfc2bb401ad8d..28962abd7281f16e683e163f10cc32810a606cab 100644 (file)
@@ -1177,7 +1177,7 @@ struct declaration *ctf_type_specifier_list_visit(FILE *fd,
                        &node->u.integer.expressions, trace);
        case TYPESPEC_STRING:
                return ctf_declaration_string_visit(fd, depth,
-                       &first->u.string.expressions, trace);
+                       &node->u.string.expressions, trace);
        case TYPESPEC_STRUCT:
                return ctf_declaration_struct_visit(fd, depth,
                        node->u._struct.name,
@@ -1788,6 +1788,10 @@ int ctf_visitor_construct_metadata(FILE *fd, int depth, struct ctf_node *node,
                                return ret;
                        }
                }
+               if (!trace->streams) {
+                       fprintf(fd, "[error] %s: missing trace declaration\n", __func__);
+                       return -EINVAL;
+               }
                cds_list_for_each_entry(iter, &node->u.root.stream, siblings) {
                        ret = ctf_stream_visit(fd, depth + 1, iter,
                                               trace->root_declaration_scope, trace);
This page took 0.023038 seconds and 4 git commands to generate.