ctf_scanner_free(scanner);
end_scanner_alloc:
end_packet_read:
- fclose(fp);
+ if (fp)
+ fclose(fp);
free(buf);
end_stream:
close(metadata_stream->pos.fd);
/* Open trace directory */
td->dir = opendir(path);
if (!td->dir) {
- fprintf(stderr, "[error] Unable to open trace directory.\n");
+ fprintf(stderr, "[error] Unable to open trace directory \"%s\".\n", path);
ret = -ENOENT;
goto error;
}
td->dirfd = open(path, 0);
if (td->dirfd < 0) {
- fprintf(stderr, "[error] Unable to open trace directory file descriptor.\n");
+ fprintf(stderr, "[error] Unable to open trace directory file descriptor for path \"%s\".\n", path);
perror("Trace directory open");
ret = -errno;
goto error_dirfd;
ret = ctf_open_trace_metadata_read(td, packet_seek, metadata_fp);
if (ret) {
+ fprintf(stderr, "[warning] Unable to open trace metadata for path \"%s\".\n", path);
goto error_metadata;
}
struct bt_ctf_event_decl *event;
event = g_ptr_array_index(td->event_declarations, i);
+ if (event->context_decl)
+ g_ptr_array_free(event->context_decl, TRUE);
+ if (event->fields_decl)
+ g_ptr_array_free(event->fields_decl, TRUE);
+ if (event->packet_header_decl)
+ g_ptr_array_free(event->packet_header_decl, TRUE);
+ if (event->event_context_decl)
+ g_ptr_array_free(event->event_context_decl, TRUE);
+ if (event->event_header_decl)
+ g_ptr_array_free(event->event_header_decl, TRUE);
+ if (event->packet_context_decl)
+ g_ptr_array_free(event->packet_context_decl, TRUE);
g_free(event);
}
g_ptr_array_free(td->event_declarations, TRUE);