Do not use g_list_free_full
[babeltrace.git] / formats / ctf / ir / visitor.c
index 62195b64adb6f3e7561b88e585686c287f29efb3..704a80488295fdde025083c00f887551cd122524 100644 (file)
@@ -273,10 +273,11 @@ int field_type_recursive_visit(struct bt_ctf_field_type *type,
                        ctf_type_stack_peek(context->stack);
                int field_count = get_type_field_count(entry->type);
 
-               if (field_count <= 0) {
+               if (field_count <= 0 &&
+                               !bt_ctf_field_type_is_structure(entry->type)) {
                        /*
                         * Propagate error if one was given, else return
-                        * -1 since empty structures or variants are invalid
+                        * -1 since empty variants are invalid
                         * at this point.
                         */
                        ret = field_count < 0 ? field_count : -1;
@@ -723,7 +724,8 @@ end:
                g_free(name_copy);
        }
        if (path_tokens) {
-               g_list_free_full(path_tokens, free);
+               g_list_foreach(path_tokens, (GFunc) free, NULL);
+               g_list_free(path_tokens);
        }
        return ret;
 error:
This page took 0.024702 seconds and 4 git commands to generate.