use GString instead of non-portable char[PATH/NAME_MAX]
authorJulien Desfossez <jdesfossez@efficios.com>
Fri, 18 Nov 2016 16:41:58 +0000 (11:41 -0500)
committerJérémie Galarneau <jeremie.galarneau@efficios.com>
Sat, 27 May 2017 18:09:08 +0000 (14:09 -0400)
Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
plugins/writer/write.c
plugins/writer/writer.c
plugins/writer/writer.h

index 442c0c48d2531f355b1e3fd7902188ba2b339dd1..05f30dd9b017b440a9ac87cb4306a8e479dcff31 100644 (file)
@@ -649,11 +649,11 @@ struct bt_ctf_writer *insert_new_writer(
        enum bt_component_status ret;
 
        snprintf(trace_name, PATH_MAX, "%s/%s_%03d",
        enum bt_component_status ret;
 
        snprintf(trace_name, PATH_MAX, "%s/%s_%03d",
-                       writer_component->base_path,
-                       writer_component->trace_name_base,
+                       writer_component->base_path->str,
+                       writer_component->trace_name_base->str,
                        writer_component->trace_id++);
        printf_verbose("CTF-Writer creating trace in %s\n", trace_name);
                        writer_component->trace_id++);
        printf_verbose("CTF-Writer creating trace in %s\n", trace_name);
-       
+
        ctf_writer = bt_ctf_writer_create(trace_name);
        if (!ctf_writer) {
                fprintf(writer_component->err, "[error] %s in %s:%d\n",
        ctf_writer = bt_ctf_writer_create(trace_name);
        if (!ctf_writer) {
                fprintf(writer_component->err, "[error] %s in %s:%d\n",
@@ -1094,7 +1094,6 @@ enum bt_component_status writer_output_event(
                                __FILE__, __LINE__);
                goto end_put_event_class;
        }
                                __FILE__, __LINE__);
                goto end_put_event_class;
        }
-//     printf("%s\n", event_name);
 
        stream = bt_ctf_event_get_stream(event);
        if (!stream) {
 
        stream = bt_ctf_event_get_stream(event);
        if (!stream) {
index c9ec3479a8cb849541722288e2058796bf54b447..a01b5c4a53497e02e91e21b93f43194eedf4365e 100644 (file)
@@ -45,6 +45,8 @@ void destroy_writer_component_data(struct writer_component *writer_component)
        g_hash_table_destroy(writer_component->stream_map);
        g_hash_table_destroy(writer_component->stream_class_map);
        g_hash_table_destroy(writer_component->trace_map);
        g_hash_table_destroy(writer_component->stream_map);
        g_hash_table_destroy(writer_component->stream_class_map);
        g_hash_table_destroy(writer_component->trace_map);
+       g_string_free(writer_component->base_path, true);
+       g_string_free(writer_component->trace_name_base, true);
 }
 
 static
 }
 
 static
@@ -90,7 +92,12 @@ struct writer_component *create_writer_component(void)
 
        writer_component->err = stderr;
        writer_component->trace_id = 0;
 
        writer_component->err = stderr;
        writer_component->trace_id = 0;
-       snprintf(writer_component->trace_name_base, NAME_MAX, "trace");
+       writer_component->trace_name_base = g_string_new("trace");
+       if (!writer_component->trace_name_base) {
+               g_free(writer_component);
+               writer_component = NULL;
+               goto end;
+       }
 
        /*
         * Reader to writer corresponding structures.
 
        /*
         * Reader to writer corresponding structures.
@@ -233,7 +240,11 @@ enum bt_component_status writer_component_init(
                goto error;
        }
 
                goto error;
        }
 
-       strncpy(writer_component->base_path, path, PATH_MAX);
+       writer_component->base_path = g_string_new(path);
+       if (!writer_component) {
+               ret = BT_COMPONENT_STATUS_ERROR;
+               goto error;
+       }
 
        ret = bt_component_set_destroy_cb(component,
                        destroy_writer_component);
 
        ret = bt_component_set_destroy_cb(component,
                        destroy_writer_component);
index 2b44435fd5348d5e1c54291a3a31cafa1250bbef..939a12c8bd35e61b3e5ca61044c9c4c9238ce7cb 100644 (file)
@@ -33,8 +33,8 @@
 #include <babeltrace/ctf-writer/writer.h>
 
 struct writer_component {
 #include <babeltrace/ctf-writer/writer.h>
 
 struct writer_component {
-       char base_path[PATH_MAX];
-       char trace_name_base[NAME_MAX];
+       GString *base_path;
+       GString *trace_name_base;
        /* For the directory name suffix. */
        int trace_id;
        /* Map between struct bt_ctf_trace and struct bt_ctf_writer. */
        /* For the directory name suffix. */
        int trace_id;
        /* Map between struct bt_ctf_trace and struct bt_ctf_writer. */
This page took 0.028991 seconds and 4 git commands to generate.