Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
[Linux] remove duplicate clone_string() in favor of g_strdup()
GLib's g_strdup() offers the same behavior that it returns NULL if the
argument is NULL: https://docs.gtk.org/glib/func.strdup.html
  • Loading branch information
jpnurmi committed Jun 12, 2022
commit 3159d2b58d5e06058bcfe7ff5a173eba91878ebd
16 changes: 1 addition & 15 deletions shell/platform/linux/fl_key_channel_responder_test.cc
Original file line number Diff line number Diff line change
Expand Up @@ -29,20 +29,6 @@ static void responder_callback(bool handled, gpointer user_data) {
g_main_loop_quit(static_cast<GMainLoop*>(user_data));
}

// Clone string onto the heap.
//
// If #string is nullptr, returns nullptr. Otherwise, the returned pointer must
// be freed with g_free.
static char* clone_string(const char* string) {
if (string == nullptr) {
return nullptr;
}
size_t len = strlen(string);
char* result = g_new(char, len + 1);
strncpy(result, string, len + 1);
return result;
}

namespace {
// A global variable to store new event. It is a global variable so that it can
// be returned by #fl_key_event_new_by_mock for easy use.
Expand All @@ -69,7 +55,7 @@ static FlKeyEvent* fl_key_event_new_by_mock(guint32 time_in_milliseconds,
_g_key_event.time = time_in_milliseconds;
_g_key_event.state = state;
_g_key_event.keyval = keyval;
_g_key_event.string = clone_string(string);
_g_key_event.string = g_strdup(string);
_g_key_event.keycode = keycode;
_g_key_event.origin = nullptr;
_g_key_event.dispose_origin = nullptr;
Expand Down
14 changes: 2 additions & 12 deletions shell/platform/linux/fl_key_event.cc
Original file line number Diff line number Diff line change
Expand Up @@ -9,16 +9,6 @@ static void dispose_origin_from_gdk_event(gpointer origin) {
gdk_event_free(reinterpret_cast<GdkEvent*>(origin));
}

static char* clone_string(const char* source) {
if (source == nullptr) {
return nullptr;
}
size_t length = strlen(source);
char* result = g_new(char, length + 1);
strncpy(result, source, length + 1);
return result;
}

FlKeyEvent* fl_key_event_new_from_gdk_event(GdkEvent* raw_event) {
g_return_val_if_fail(raw_event != nullptr, nullptr);
GdkEventKey* event = reinterpret_cast<GdkEventKey*>(raw_event);
Expand All @@ -32,7 +22,7 @@ FlKeyEvent* fl_key_event_new_from_gdk_event(GdkEvent* raw_event) {
result->keycode = event->hardware_keycode;
result->keyval = event->keyval;
result->state = event->state;
result->string = clone_string(event->string);
result->string = g_strdup(event->string);
result->group = event->group;
result->origin = event;
result->dispose_origin = dispose_origin_from_gdk_event;
Expand All @@ -53,6 +43,6 @@ void fl_key_event_dispose(FlKeyEvent* event) {
FlKeyEvent* fl_key_event_clone(const FlKeyEvent* event) {
FlKeyEvent* new_event = g_new(FlKeyEvent, 1);
*new_event = *event;
new_event->string = clone_string(event->string);
new_event->string = g_strdup(event->string);
return new_event;
}