projects
/
babeltrace.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add bt_ctf_iter_create_intersect to CTF iterator API
[babeltrace.git]
/
formats
/
ctf
/
writer
/
writer.c
diff --git
a/formats/ctf/writer/writer.c
b/formats/ctf/writer/writer.c
index 75bf850c98080dbb16433d71c78deb5879715648..3ef4dae94d373be3b8396731f1a9c7c52d6858d8 100644
(file)
--- a/
formats/ctf/writer/writer.c
+++ b/
formats/ctf/writer/writer.c
@@
-36,6
+36,7
@@
#include <babeltrace/ctf-writer/stream-internal.h>
#include <babeltrace/ctf-writer/stream.h>
#include <babeltrace/compiler.h>
#include <babeltrace/ctf-writer/stream-internal.h>
#include <babeltrace/ctf-writer/stream.h>
#include <babeltrace/compiler.h>
+#include <babeltrace/endian.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/stat.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/stat.h>
@@
-115,8
+116,7
@@
struct bt_ctf_writer *bt_ctf_writer_create(const char *path)
goto error_destroy;
}
goto error_destroy;
}
- writer->trace_dir_fd = open(path, O_RDONLY | O_DIRECTORY,
- S_IRWXU | S_IRWXG);
+ writer->trace_dir_fd = open(path, O_RDONLY, S_IRWXU | S_IRWXG);
if (writer->trace_dir_fd < 0) {
perror("open");
goto error_destroy;
if (writer->trace_dir_fd < 0) {
perror("open");
goto error_destroy;
@@
-358,7
+358,7
@@
const char *get_byte_order_string(int byte_order)
}
static
}
static
-
void
append_trace_metadata(struct bt_ctf_writer *writer,
+
int
append_trace_metadata(struct bt_ctf_writer *writer,
struct metadata_context *context)
{
unsigned char *uuid = writer->uuid;
struct metadata_context *context)
{
unsigned char *uuid = writer->uuid;
@@
-383,10
+383,14
@@
void append_trace_metadata(struct bt_ctf_writer *writer,
g_string_assign(context->field_name, "");
ret = bt_ctf_field_type_serialize(writer->trace_packet_header_type,
context);
g_string_assign(context->field_name, "");
ret = bt_ctf_field_type_serialize(writer->trace_packet_header_type,
context);
- assert(!ret);
+ if (ret) {
+ goto end;
+ }
context->current_indentation_level--;
g_string_append(context->string, ";\n};\n\n");
context->current_indentation_level--;
g_string_append(context->string, ";\n};\n\n");
+end:
+ return ret;
}
static
}
static
@@
-430,7
+434,9
@@
char *bt_ctf_writer_get_metadata_string(struct bt_ctf_writer *writer)
context->field_name = g_string_sized_new(DEFAULT_IDENTIFIER_SIZE);
context->string = g_string_sized_new(DEFAULT_METADATA_STRING_SIZE);
g_string_append(context->string, "/* CTF 1.8 */\n\n");
context->field_name = g_string_sized_new(DEFAULT_IDENTIFIER_SIZE);
context->string = g_string_sized_new(DEFAULT_METADATA_STRING_SIZE);
g_string_append(context->string, "/* CTF 1.8 */\n\n");
- append_trace_metadata(writer, context);
+ if (append_trace_metadata(writer, context)) {
+ goto error;
+ }
append_env_metadata(writer, context);
g_ptr_array_foreach(writer->clocks,
(GFunc)bt_ctf_clock_serialize, context);
append_env_metadata(writer, context);
g_ptr_array_foreach(writer->clocks,
(GFunc)bt_ctf_clock_serialize, context);
@@
-561,8
+567,9
@@
int validate_identifier(const char *input_string)
token = strtok_r(string, " ", &save_ptr);
while (token) {
token = strtok_r(string, " ", &save_ptr);
while (token) {
- if (g_hash_table_contains(reserved_keywords_set,
- GINT_TO_POINTER(g_quark_from_string(token)))) {
+ if (g_hash_table_lookup_extended(reserved_keywords_set,
+ GINT_TO_POINTER(g_quark_from_string(token)),
+ NULL, NULL)) {
ret = -1;
goto end;
}
ret = -1;
goto end;
}
@@
-717,7
+724,8
@@
void stream_flush_cb(struct bt_ctf_stream *stream, struct bt_ctf_writer *writer)
stream_id = bt_ctf_field_structure_get_field(
writer->trace_packet_header, "stream_id");
stream_id = bt_ctf_field_structure_get_field(
writer->trace_packet_header, "stream_id");
- bt_ctf_field_unsigned_integer_set_value(stream_id, stream->id);
+ bt_ctf_field_unsigned_integer_set_value(stream_id,
+ stream->stream_class->id);
bt_ctf_field_put(stream_id);
/* Write the trace_packet_header */
bt_ctf_field_put(stream_id);
/* Write the trace_packet_header */
@@
-738,8
+746,10
@@
void writer_init(void)
reserved_keywords_set = g_hash_table_new(g_direct_hash, g_direct_equal);
for (i = 0; i < reserved_keywords_count; i++) {
reserved_keywords_set = g_hash_table_new(g_direct_hash, g_direct_equal);
for (i = 0; i < reserved_keywords_count; i++) {
- g_hash_table_add(reserved_keywords_set,
- GINT_TO_POINTER(g_quark_from_string(reserved_keywords_str[i])));
+ gpointer quark = GINT_TO_POINTER(g_quark_from_string(
+ reserved_keywords_str[i]));
+
+ g_hash_table_insert(reserved_keywords_set, quark, quark);
}
init_done = 1;
}
init_done = 1;
This page took
0.024403 seconds
and
4
git commands to generate.