lib: remove some unnecessary uses of `GString` master
authorSimon Marchi <simon.marchi@efficios.com>
Mon, 6 May 2024 18:59:50 +0000 (14:59 -0400)
committerSimon Marchi <simon.marchi@efficios.com>
Tue, 7 May 2024 19:34:55 +0000 (15:34 -0400)
The use of `GString` is unnecessary for these fields.  In fact, I think
it just makes things more complicated for nothing.  Change to use
`gchar *`, allocated with `g_strdup()` and freed with `g_free()`.

Change-Id: I03c6662e97d9cad6e0395fa1e3b29154604e786e
Signed-off-by: Simon Marchi <simon.marchi@efficios.com>
Reviewed-on: https://review.lttng.org/c/babeltrace/+/12523
Tested-by: jenkins <jenkins@lttng.org>
Reviewed-by: Philippe Proulx <eeppeliteloop@gmail.com>
src/lib/lib-logging.c
src/lib/trace-ir/clock-class.c
src/lib/trace-ir/clock-class.h
src/lib/trace-ir/event-class.c
src/lib/trace-ir/event-class.h
src/lib/trace-ir/stream-class.c
src/lib/trace-ir/stream-class.h
src/lib/trace-ir/stream.c
src/lib/trace-ir/stream.h
src/lib/trace-ir/trace.c
src/lib/trace-ir/trace.h

index a22e000f0ee3f56ca0b6140e1446768c5cc29600..6d98a0ce5e0dc38d87949f20e6559c27000dd01b 100644 (file)
@@ -497,8 +497,8 @@ static inline void format_trace(char **buf_ch, bool extended,
 {
        char tmp_prefix[TMP_PREFIX_LEN];
 
-       if (trace->name.value) {
-               BUF_APPEND(", %sname=\"%s\"", PRFIELD(trace->name.value));
+       if (trace->name) {
+               BUF_APPEND(", %sname=\"%s\"", PRFIELD(trace->name));
        }
 
        if (!extended) {
@@ -534,9 +534,9 @@ static inline void format_stream_class(char **buf_ch, bool extended,
 
        BUF_APPEND(", %sid=%" PRIu64, PRFIELD(stream_class->id));
 
-       if (stream_class->name.value) {
+       if (stream_class->name) {
                BUF_APPEND(", %sname=\"%s\"",
-                       PRFIELD(stream_class->name.value));
+                       PRFIELD(stream_class->name));
        }
 
        if (!extended) {
@@ -593,9 +593,9 @@ static inline void format_event_class(char **buf_ch, bool extended,
 
        BUF_APPEND(", %sid=%" PRIu64, PRFIELD(event_class->id));
 
-       if (event_class->name.value) {
+       if (event_class->name) {
                BUF_APPEND(", %sname=\"%s\"",
-                       PRFIELD(event_class->name.value));
+                       PRFIELD(event_class->name));
        }
 
        if (!extended) {
@@ -610,9 +610,9 @@ static inline void format_event_class(char **buf_ch, bool extended,
                                (int) event_class->log_level.value)));
        }
 
-       if (event_class->emf_uri.value) {
+       if (event_class->emf_uri) {
                BUF_APPEND(", %semf-uri=\"%s\"",
-                       PRFIELD(event_class->emf_uri.value));
+                       PRFIELD(event_class->emf_uri));
        }
 
        BUF_APPEND(", %sspecific-context-fc-addr=%p, %spayload-fc-addr=%p",
@@ -649,8 +649,8 @@ static inline void format_stream(char **buf_ch, bool extended,
 
        BUF_APPEND(", %sid=%" PRIu64, PRFIELD(stream->id));
 
-       if (stream->name.value) {
-               BUF_APPEND(", %sname=\"%s\"", PRFIELD(stream->name.value));
+       if (stream->name) {
+               BUF_APPEND(", %sname=\"%s\"", PRFIELD(stream->name));
        }
 
        if (!extended) {
@@ -777,8 +777,8 @@ static inline void format_clock_class(char **buf_ch, bool extended,
 {
        char tmp_prefix[TMP_PREFIX_LEN];
 
-       if (clock_class->name.value) {
-               BUF_APPEND(", %sname=\"%s\"", PRFIELD(clock_class->name.value));
+       if (clock_class->name) {
+               BUF_APPEND(", %sname=\"%s\"", PRFIELD(clock_class->name));
        }
 
        BUF_APPEND(", %sfreq=%" PRIu64, PRFIELD(clock_class->frequency));
@@ -787,9 +787,9 @@ static inline void format_clock_class(char **buf_ch, bool extended,
                return;
        }
 
-       if (clock_class->description.value) {
+       if (clock_class->description) {
                BUF_APPEND(", %spartial-descr=\"%.32s\"",
-                       PRFIELD(clock_class->description.value));
+                       PRFIELD(clock_class->description));
        }
 
        if (clock_class->uuid.value) {
index 10030155b5c1ece5ad791f803bfae618c0d13f99..886501ec3b0944888cdea1ea5ce769bd965cf312 100644 (file)
@@ -35,18 +35,8 @@ void destroy_clock_class(struct bt_object *obj)
        BT_LIB_LOGD("Destroying clock class: %!+K", clock_class);
        BT_OBJECT_PUT_REF_AND_RESET(clock_class->user_attributes);
 
-       if (clock_class->name.str) {
-               g_string_free(clock_class->name.str, TRUE);
-               clock_class->name.str = NULL;
-               clock_class->name.value = NULL;
-       }
-
-       if (clock_class->description.str) {
-               g_string_free(clock_class->description.str, TRUE);
-               clock_class->description.str = NULL;
-               clock_class->description.value = NULL;
-       }
-
+       g_free(clock_class->name);
+       g_free(clock_class->description);
        bt_object_pool_finalize(&clock_class->cs_pool);
        g_free(clock_class);
 }
@@ -91,18 +81,6 @@ struct bt_clock_class *bt_clock_class_create(bt_self_component *self_comp)
                goto error;
        }
 
-       clock_class->name.str = g_string_new(NULL);
-       if (!clock_class->name.str) {
-               BT_LIB_LOGE_APPEND_CAUSE("Failed to allocate a GString.");
-               goto error;
-       }
-
-       clock_class->description.str = g_string_new(NULL);
-       if (!clock_class->description.str) {
-               BT_LIB_LOGE_APPEND_CAUSE("Failed to allocate a GString.");
-               goto error;
-       }
-
        clock_class->frequency = UINT64_C(1000000000);
        clock_class->origin_is_unix_epoch = BT_TRUE;
        set_base_offset(clock_class);
@@ -132,7 +110,7 @@ BT_EXPORT
 const char *bt_clock_class_get_name(const struct bt_clock_class *clock_class)
 {
        BT_ASSERT_PRE_DEV_CLK_CLS_NON_NULL(clock_class);
-       return clock_class->name.value;
+       return clock_class->name;
 }
 
 BT_EXPORT
@@ -143,8 +121,8 @@ enum bt_clock_class_set_name_status bt_clock_class_set_name(
        BT_ASSERT_PRE_CLK_CLS_NON_NULL(clock_class);
        BT_ASSERT_PRE_NAME_NON_NULL(name);
        BT_ASSERT_PRE_DEV_CLOCK_CLASS_HOT(clock_class);
-       g_string_assign(clock_class->name.str, name);
-       clock_class->name.value = clock_class->name.str->str;
+       g_free(clock_class->name);
+       clock_class->name = g_strdup(name);
        BT_LIB_LOGD("Set clock class's name: %!+K", clock_class);
        return BT_FUNC_STATUS_OK;
 }
@@ -154,7 +132,7 @@ const char *bt_clock_class_get_description(
                const struct bt_clock_class *clock_class)
 {
        BT_ASSERT_PRE_DEV_CLK_CLS_NON_NULL(clock_class);
-       return clock_class->description.value;
+       return clock_class->description;
 }
 
 BT_EXPORT
@@ -165,8 +143,8 @@ enum bt_clock_class_set_description_status bt_clock_class_set_description(
        BT_ASSERT_PRE_CLK_CLS_NON_NULL(clock_class);
        BT_ASSERT_PRE_DESCR_NON_NULL(descr);
        BT_ASSERT_PRE_DEV_CLOCK_CLASS_HOT(clock_class);
-       g_string_assign(clock_class->description.str, descr);
-       clock_class->description.value = clock_class->description.str->str;
+       g_free(clock_class->description);
+       clock_class->description = g_strdup(descr);
        BT_LIB_LOGD("Set clock class's description: %!+K",
                clock_class);
        return BT_FUNC_STATUS_OK;
index e2e90412c797f53e01cb5f279a8ac2f83b673b21..54eeb0c85de21bd8d2398b9c99d5b1314aaa4688 100644 (file)
@@ -27,19 +27,8 @@ struct bt_clock_class {
        /* Owned by this */
        struct bt_value *user_attributes;
 
-       struct {
-               GString *str;
-
-               /* NULL or `str->str` above */
-               const char *value;
-       } name;
-
-       struct {
-               GString *str;
-
-               /* NULL or `str->str` above */
-               const char *value;
-       } description;
+       gchar *name;
+       gchar *description;
 
        uint64_t frequency;
        uint64_t precision;
index 0d90717561ca9727a5eddcce141450de73edc87b..76ad226bf2b532425c2d8b2a372cf360c9a43dea 100644 (file)
@@ -41,16 +41,8 @@ void destroy_event_class(struct bt_object *obj)
        BT_LIB_LOGD("Destroying event class: %!+E", event_class);
        BT_OBJECT_PUT_REF_AND_RESET(event_class->user_attributes);
 
-       if (event_class->name.str) {
-               g_string_free(event_class->name.str, TRUE);
-               event_class->name.str = NULL;
-       }
-
-       if (event_class->emf_uri.str) {
-               g_string_free(event_class->emf_uri.str, TRUE);
-               event_class->emf_uri.str = NULL;
-       }
-
+       g_free(event_class->name);
+       g_free(event_class->emf_uri);
        BT_LOGD_STR("Putting context field class.");
        BT_OBJECT_PUT_REF_AND_RESET(event_class->specific_context_fc);
        BT_LOGD_STR("Putting payload field class.");
@@ -119,17 +111,6 @@ struct bt_event_class *create_event_class_with_id(
        event_class->id = id;
        bt_property_uint_init(&event_class->log_level,
                        BT_PROPERTY_AVAILABILITY_NOT_AVAILABLE, 0);
-       event_class->name.str = g_string_new(NULL);
-       if (!event_class->name.str) {
-               BT_LIB_LOGE_APPEND_CAUSE("Failed to allocate a GString.");
-               goto error;
-       }
-
-       event_class->emf_uri.str = g_string_new(NULL);
-       if (!event_class->emf_uri.str) {
-               BT_LIB_LOGE_APPEND_CAUSE("Failed to allocate a GString.");
-               goto error;
-       }
 
        ret = bt_object_pool_initialize(&event_class->event_pool,
                (bt_object_pool_new_object_func) bt_event_new,
@@ -187,7 +168,7 @@ BT_EXPORT
 const char *bt_event_class_get_name(const struct bt_event_class *event_class)
 {
        BT_ASSERT_PRE_DEV_EC_NON_NULL(event_class);
-       return event_class->name.value;
+       return event_class->name;
 }
 
 BT_EXPORT
@@ -198,8 +179,8 @@ enum bt_event_class_set_name_status bt_event_class_set_name(
        BT_ASSERT_PRE_EC_NON_NULL(event_class);
        BT_ASSERT_PRE_NAME_NON_NULL(name);
        BT_ASSERT_PRE_DEV_EVENT_CLASS_HOT(event_class);
-       g_string_assign(event_class->name.str, name);
-       event_class->name.value = event_class->name.str->str;
+       g_free(event_class->name);
+       event_class->name = g_strdup(name);
        BT_LIB_LOGD("Set event class's name: %!+E", event_class);
        return BT_FUNC_STATUS_OK;
 }
@@ -240,7 +221,7 @@ BT_EXPORT
 const char *bt_event_class_get_emf_uri(const struct bt_event_class *event_class)
 {
        BT_ASSERT_PRE_DEV_EC_NON_NULL(event_class);
-       return event_class->emf_uri.value;
+       return event_class->emf_uri;
 }
 
 BT_EXPORT
@@ -252,8 +233,8 @@ enum bt_event_class_set_emf_uri_status bt_event_class_set_emf_uri(
        BT_ASSERT_PRE_EC_NON_NULL(event_class);
        BT_ASSERT_PRE_NON_NULL("emf-uri", emf_uri, "EMF URI");
        BT_ASSERT_PRE_DEV_EVENT_CLASS_HOT(event_class);
-       g_string_assign(event_class->emf_uri.str, emf_uri);
-       event_class->emf_uri.value = event_class->emf_uri.str->str;
+       g_free(event_class->emf_uri);
+       event_class->emf_uri = g_strdup(emf_uri);
        BT_LIB_LOGD("Set event class's EMF URI: %!+E", event_class);
        return BT_FUNC_STATUS_OK;
 }
index 67d93695e84711c271c1a5fd012396fb8651ca19..ccbc0009778c90a0baa0255d81c9a8fec9dc480f 100644 (file)
@@ -29,22 +29,12 @@ struct bt_event_class {
        /* Owned by this */
        struct bt_value *user_attributes;
 
-       struct {
-               GString *str;
-
-               /* NULL or `str->str` above */
-               const char *value;
-       } name;
+       gchar *name;
 
        uint64_t id;
        struct bt_property_uint log_level;
 
-       struct {
-               GString *str;
-
-               /* NULL or `str->str` above */
-               const char *value;
-       } emf_uri;
+       gchar *emf_uri;
 
        /* Pool of `struct bt_event *` */
        struct bt_object_pool event_pool;
index 08395849b03c9331fde5cfe8b7422d00ccb6f077..c997086101cee2a48707d976beb8fd4ff9d6be4e 100644 (file)
@@ -47,12 +47,7 @@ void destroy_stream_class(struct bt_object *obj)
                stream_class->event_classes = NULL;
        }
 
-       if (stream_class->name.str) {
-               g_string_free(stream_class->name.str, TRUE);
-               stream_class->name.str = NULL;
-               stream_class->name.value = NULL;
-       }
-
+       g_free(stream_class->name);
        BT_LOGD_STR("Putting packet context field class.");
        BT_OBJECT_PUT_REF_AND_RESET(stream_class->packet_context_fc);
        BT_LOGD_STR("Putting event common context field class.");
@@ -117,12 +112,6 @@ struct bt_stream_class *create_stream_class_with_id(
                goto error;
        }
 
-       stream_class->name.str = g_string_new(NULL);
-       if (!stream_class->name.str) {
-               BT_LIB_LOGE_APPEND_CAUSE("Failed to allocate a GString.");
-               goto error;
-       }
-
        stream_class->id = id;
        stream_class->assigns_automatic_event_class_id = true;
        stream_class->assigns_automatic_stream_id = true;
@@ -203,7 +192,7 @@ BT_EXPORT
 const char *bt_stream_class_get_name(const struct bt_stream_class *stream_class)
 {
        BT_ASSERT_PRE_DEV_SC_NON_NULL(stream_class);
-       return stream_class->name.value;
+       return stream_class->name;
 }
 
 BT_EXPORT
@@ -215,8 +204,8 @@ enum bt_stream_class_set_name_status bt_stream_class_set_name(
        BT_ASSERT_PRE_SC_NON_NULL(stream_class);
        BT_ASSERT_PRE_NAME_NON_NULL(name);
        BT_ASSERT_PRE_DEV_STREAM_CLASS_HOT(stream_class);
-       g_string_assign(stream_class->name.str, name);
-       stream_class->name.value = stream_class->name.str->str;
+       g_free(stream_class->name);
+       stream_class->name = g_strdup(name);
        BT_LIB_LOGD("Set stream class's name: %!+S", stream_class);
        return BT_FUNC_STATUS_OK;
 }
index 771a5899197d22161e0098f7f95b4e4de05f25c5..a1d9ab60e073cb49e885874d3ae25dbbc6599ec5 100644 (file)
@@ -23,12 +23,7 @@ struct bt_stream_class {
        /* Owned by this */
        struct bt_value *user_attributes;
 
-       struct {
-               GString *str;
-
-               /* NULL or `str->str` above */
-               const char *value;
-       } name;
+       gchar *name;
 
        uint64_t id;
        bool assigns_automatic_event_class_id;
index 7cb124f425bfe5661436d94a38169952e582f297..471623e8c0412bcabb03c96b1e5d13fca08af51e 100644 (file)
@@ -37,12 +37,7 @@ void destroy_stream(struct bt_object *obj)
        BT_LIB_LOGD("Destroying stream object: %!+s", stream);
        BT_OBJECT_PUT_REF_AND_RESET(stream->user_attributes);
 
-       if (stream->name.str) {
-               g_string_free(stream->name.str, TRUE);
-               stream->name.str = NULL;
-               stream->name.value = NULL;
-       }
-
+       g_free(stream->name);
        BT_LOGD_STR("Putting stream's class.");
        bt_object_put_ref(stream->class);
        bt_object_pool_finalize(&stream->packet_pool);
@@ -114,12 +109,6 @@ struct bt_stream *create_stream_with_id(struct bt_stream_class *stream_class,
                goto error;
        }
 
-       stream->name.str = g_string_new(NULL);
-       if (!stream->name.str) {
-               BT_LIB_LOGE_APPEND_CAUSE("Failed to allocate a GString.");
-               goto error;
-       }
-
        stream->id = id;
        ret = bt_object_pool_initialize(&stream->packet_pool,
                (bt_object_pool_new_object_func) bt_packet_new,
@@ -211,7 +200,7 @@ BT_EXPORT
 const char *bt_stream_get_name(const struct bt_stream *stream)
 {
        BT_ASSERT_PRE_DEV_STREAM_NON_NULL(stream);
-       return stream->name.value;
+       return stream->name;
 }
 
 BT_EXPORT
@@ -222,8 +211,8 @@ enum bt_stream_set_name_status bt_stream_set_name(struct bt_stream *stream,
        BT_ASSERT_PRE_STREAM_NON_NULL(stream);
        BT_ASSERT_PRE_NAME_NON_NULL(name);
        BT_ASSERT_PRE_DEV_STREAM_HOT(stream);
-       g_string_assign(stream->name.str, name);
-       stream->name.value = stream->name.str->str;
+       g_free(stream->name);
+       stream->name = g_strdup(name);
        BT_LIB_LOGD("Set stream's name: %!+s", stream);
        return BT_FUNC_STATUS_OK;
 }
index 89d7bf73afd47e3018e16d2290981f69f82abc10..89e236a65105317be427af36e25674d16a36892c 100644 (file)
@@ -26,12 +26,7 @@ struct bt_stream {
        /* Owned by this */
        struct bt_stream_class *class;
 
-       struct {
-               GString *str;
-
-               /* NULL or `str->str` above */
-               const char *value;
-       } name;
+       gchar *name;
 
        uint64_t id;
 
index 8cc005a785530654984cd837d5e2a7e7107212c4..ef9581ee0e6d01f175eed5de0d45b01f6698ed48 100644 (file)
@@ -105,11 +105,7 @@ void destroy_trace(struct bt_object *obj)
                }
        }
 
-       if (trace->name.str) {
-               g_string_free(trace->name.str, TRUE);
-               trace->name.str = NULL;
-               trace->name.value = NULL;
-       }
+       g_free(trace->name);
 
        if (trace->environment) {
                BT_LOGD_STR("Destroying environment attributes.");
@@ -170,12 +166,6 @@ struct bt_trace *bt_trace_create(struct bt_trace_class *tc)
                goto error;
        }
 
-       trace->name.str = g_string_new(NULL);
-       if (!trace->name.str) {
-               BT_LIB_LOGE_APPEND_CAUSE("Failed to allocate one GString.");
-               goto error;
-       }
-
        trace->environment = bt_attributes_create();
        if (!trace->environment) {
                BT_LIB_LOGE_APPEND_CAUSE("Cannot create empty attributes object.");
@@ -205,7 +195,7 @@ BT_EXPORT
 const char *bt_trace_get_name(const struct bt_trace *trace)
 {
        BT_ASSERT_PRE_DEV_TRACE_NON_NULL(trace);
-       return trace->name.value;
+       return trace->name;
 }
 
 BT_EXPORT
@@ -216,8 +206,8 @@ enum bt_trace_set_name_status bt_trace_set_name(struct bt_trace *trace,
        BT_ASSERT_PRE_TRACE_NON_NULL(trace);
        BT_ASSERT_PRE_NAME_NON_NULL(name);
        BT_ASSERT_PRE_DEV_TRACE_HOT(trace);
-       g_string_assign(trace->name.str, name);
-       trace->name.value = trace->name.str->str;
+       g_free(trace->name);
+       trace->name = g_strdup(name);
        BT_LIB_LOGD("Set trace's name: %!+t", trace);
        return BT_FUNC_STATUS_OK;
 }
index 294e8943cd2ffb5933cb7a14888092e435f2b7a7..ed0df692f7bcb059fc8178407864536a2ba43bd0 100644 (file)
@@ -31,12 +31,7 @@ struct bt_trace {
        /* Owned by this */
        struct bt_trace_class *class;
 
-       struct {
-               GString *str;
-
-               /* NULL or `str->str` above */
-               const char *value;
-       } name;
+       gchar *name;
 
        struct {
                bt_uuid_t uuid;
This page took 0.035425 seconds and 4 git commands to generate.