[libmanette] Use g_auto(ptr|_free) instead of manual memory management
- From: Adrien Plazas <aplazas src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [libmanette] Use g_auto(ptr|_free) instead of manual memory management
- Date: Sun, 22 Nov 2020 12:36:57 +0000 (UTC)
commit ce0c940ee5cb75a6901bfdb0477cd30b97ed91af
Author: vanadiae <vanadiae35 gmail com>
Date: Wed Oct 14 19:29:00 2020 +0200
Use g_auto(ptr|_free) instead of manual memory management
demos/manette-test/manette-test.c | 10 ++----
src/manette-mapping-manager.c | 76 +++++++++++----------------------------
src/manette-monitor.c | 36 ++++++-------------
tests/test-event-mapping.c | 27 ++++----------
tests/test-mapping-manager.c | 3 +-
tests/test-mapping.c | 33 +++++------------
6 files changed, 51 insertions(+), 134 deletions(-)
---
diff --git a/demos/manette-test/manette-test.c b/demos/manette-test/manette-test.c
index f58bec6..ff1794d 100644
--- a/demos/manette-test/manette-test.c
+++ b/demos/manette-test/manette-test.c
@@ -269,9 +269,9 @@ int
main (int argc,
char **argv)
{
- GMainLoop *main_loop;
- ManetteMonitor *monitor;
- ManetteMonitorIter *iter;
+ g_autoptr (GMainLoop) main_loop = NULL;
+ g_autoptr (ManetteMonitor) monitor = NULL;
+ g_autoptr (ManetteMonitorIter) iter = NULL;
ManetteDevice *device;
monitor = manette_monitor_new ();
@@ -284,13 +284,9 @@ main (int argc,
iter = manette_monitor_iterate (monitor);
while (manette_monitor_iter_next (iter, &device))
listen_to_device (device);
- manette_monitor_iter_free (iter);
main_loop = g_main_loop_new (NULL, FALSE);
g_main_loop_run (main_loop);
- g_main_loop_unref (main_loop);
- g_object_unref (monitor);
-
return 0;
}
diff --git a/src/manette-mapping-manager.c b/src/manette-mapping-manager.c
index 6ea868c..deb8c00 100644
--- a/src/manette-mapping-manager.c
+++ b/src/manette-mapping-manager.c
@@ -55,7 +55,7 @@ add_mapping (ManetteMappingManager *self,
GHashTable *mappings)
{
const gchar *platform;
- gchar **split;
+ g_auto (GStrv) split = NULL;
g_return_if_fail (MANETTE_IS_MAPPING_MANAGER (self));
g_return_if_fail (mapping_string != NULL);
@@ -74,7 +74,6 @@ add_mapping (ManetteMappingManager *self,
g_hash_table_insert (mappings,
g_strdup (split[0]),
g_strdup (mapping_string));
- g_strfreev (split);
}
static void
@@ -83,8 +82,7 @@ add_from_input_stream (ManetteMappingManager *self,
GHashTable *mappings,
GError **error)
{
- GDataInputStream *data_stream;
- gchar *mapping_string;
+ g_autoptr (GDataInputStream) data_stream = NULL;
GError *inner_error = NULL;
g_return_if_fail (MANETTE_IS_MAPPING_MANAGER (self));
@@ -92,13 +90,12 @@ add_from_input_stream (ManetteMappingManager *self,
data_stream = g_data_input_stream_new (input_stream);
while (TRUE) {
- mapping_string = g_data_input_stream_read_line (data_stream,
- NULL, NULL,
- &inner_error);
+ g_autofree gchar *mapping_string = g_data_input_stream_read_line (data_stream,
+ NULL, NULL,
+ &inner_error);
if (G_UNLIKELY (inner_error != NULL)) {
g_assert (mapping_string == NULL);
g_propagate_error (error, inner_error);
- g_object_unref (data_stream);
return;
}
@@ -107,9 +104,7 @@ add_from_input_stream (ManetteMappingManager *self,
break;
add_mapping (self, mapping_string, mappings);
- g_free (mapping_string);
}
- g_object_unref (data_stream);
}
static void
@@ -118,8 +113,8 @@ add_from_file_uri (ManetteMappingManager *self,
GHashTable *mappings,
GError **error)
{
- GFile *file;
- GFileInputStream *stream;
+ g_autoptr (GFile) file = NULL;
+ g_autoptr (GFileInputStream) stream = NULL;
GError *inner_error = NULL;
g_return_if_fail (MANETTE_IS_MAPPING_MANAGER (self));
@@ -129,7 +124,6 @@ add_from_file_uri (ManetteMappingManager *self,
stream = g_file_read (file, NULL, &inner_error);
if (G_UNLIKELY (inner_error != NULL)) {
g_propagate_error (error, inner_error);
- g_object_unref (file);
return;
}
@@ -137,14 +131,9 @@ add_from_file_uri (ManetteMappingManager *self,
add_from_input_stream (self, G_INPUT_STREAM (stream), mappings, &inner_error);
if (G_UNLIKELY (inner_error != NULL)) {
g_propagate_error (error, inner_error);
- g_object_unref (stream);
- g_object_unref (file);
return;
}
-
- g_object_unref (stream);
- g_object_unref (file);
}
static void
@@ -154,14 +143,14 @@ save_user_mappings (ManetteMappingManager *self,
GHashTableIter iter;
gpointer key, value;
gchar *guid;
- const gchar *name;
gchar *sdl_string;
- gchar *mapping_string;
+ const gchar *name;
+ g_autofree gchar *mapping_string = NULL;
- GFile *file;
- GFile *directory;
- GFileOutputStream *stream;
- GDataOutputStream *data_stream;
+ g_autoptr (GFile) file = NULL;
+ g_autoptr (GFile) directory = NULL;
+ g_autoptr (GFileOutputStream) stream = NULL;
+ g_autoptr (GDataOutputStream) data_stream = NULL;
GError *inner_error = NULL;
g_return_if_fail (MANETTE_IS_MAPPING_MANAGER (self));
@@ -173,19 +162,14 @@ save_user_mappings (ManetteMappingManager *self,
g_file_make_directory_with_parents (directory, NULL, &inner_error);
if (G_UNLIKELY (inner_error != NULL)) {
g_propagate_error (error, inner_error);
- g_object_unref (file);
- g_object_unref (directory);
return;
}
}
- g_object_unref (directory);
-
stream = g_file_replace (file, NULL, FALSE, G_FILE_CREATE_NONE, NULL, &inner_error);
if (G_UNLIKELY (inner_error != NULL)) {
g_propagate_error (error, inner_error);
- g_object_unref (file);
return;
}
@@ -202,20 +186,10 @@ save_user_mappings (ManetteMappingManager *self,
g_data_output_stream_put_string (data_stream, mapping_string, NULL, &inner_error);
if (G_UNLIKELY (inner_error != NULL)) {
g_propagate_error (error, inner_error);
- g_free (mapping_string);
- g_object_unref (file);
- g_object_unref (stream);
- g_object_unref (data_stream);
return;
}
-
- g_free (mapping_string);
}
-
- g_object_unref (file);
- g_object_unref (stream);
- g_object_unref (data_stream);
}
static void
@@ -225,7 +199,7 @@ user_mappings_changed_cb (GFileMonitor *monitor,
GFileMonitorEvent event_type,
ManetteMappingManager *self)
{
- GError *inner_error = NULL;
+ g_autoptr (GError) inner_error = NULL;
g_return_if_fail (MANETTE_IS_MAPPING_MANAGER (self));
@@ -242,7 +216,6 @@ user_mappings_changed_cb (GFileMonitor *monitor,
g_debug ("ManetteMappingManager: Can’t add mappings from %s: %s",
self->user_mappings_uri,
inner_error->message);
- g_clear_error (&inner_error);
}
g_signal_emit (self, signals[SIG_CHANGED], 0);
@@ -254,8 +227,8 @@ ManetteMappingManager *
manette_mapping_manager_new (void)
{
ManetteMappingManager *self = NULL;
- gchar *path;
- GFile *user_mappings_file;
+ g_autofree gchar *path = NULL;
+ g_autoptr (GFile) user_mappings_file = NULL;
GError *inner_error = NULL;
self = (ManetteMappingManager*) g_object_new (MANETTE_TYPE_MAPPING_MANAGER, NULL);
@@ -282,14 +255,11 @@ manette_mapping_manager_new (void)
if (G_UNLIKELY (inner_error != NULL)) {
g_debug ("ManetteMappingManager: Can't build path for user config: %s",
inner_error->message);
- g_free (path);
g_clear_error (&inner_error);
return self;
}
- g_free (path);
-
user_mappings_file = g_file_new_for_uri (self->user_mappings_uri);
self->user_mappings_monitor = g_file_monitor_file (user_mappings_file,
G_FILE_MONITOR_NONE,
@@ -302,8 +272,6 @@ manette_mapping_manager_new (void)
g_clear_error (&inner_error);
}
- g_object_unref (user_mappings_file);
-
g_signal_connect (self->user_mappings_monitor,
"changed",
G_CALLBACK (user_mappings_changed_cb),
@@ -380,7 +348,7 @@ manette_mapping_manager_save_mapping (ManetteMappingManager *self,
const gchar *name,
const gchar *mapping)
{
- GError *inner_error = NULL;
+ g_autoptr (GError) inner_error = NULL;
g_return_if_fail (MANETTE_IS_MAPPING_MANAGER (self));
g_return_if_fail (guid != NULL);
@@ -391,17 +359,15 @@ manette_mapping_manager_save_mapping (ManetteMappingManager *self,
g_hash_table_insert (self->names, g_strdup (guid), g_strdup (name));
save_user_mappings (self, &inner_error);
- if (G_UNLIKELY (inner_error != NULL)) {
+ if (G_UNLIKELY (inner_error != NULL))
g_critical ("ManetteMappingManager: Can’t save user mappings: %s", inner_error->message);
- g_clear_error (&inner_error);
- }
}
void
manette_mapping_manager_delete_mapping (ManetteMappingManager *self,
const gchar *guid)
{
- GError *inner_error = NULL;
+ g_autoptr (GError) inner_error = NULL;
g_return_if_fail (MANETTE_IS_MAPPING_MANAGER (self));
g_return_if_fail (guid != NULL);
@@ -410,10 +376,8 @@ manette_mapping_manager_delete_mapping (ManetteMappingManager *self,
g_hash_table_remove (self->names, guid);
save_user_mappings (self, &inner_error);
- if (G_UNLIKELY (inner_error != NULL)) {
+ if (G_UNLIKELY (inner_error != NULL))
g_critical ("ManetteMappingManager: Can’t save user mappings: %s", inner_error->message);
- g_clear_error (&inner_error);
- }
}
/* Type */
diff --git a/src/manette-monitor.c b/src/manette-monitor.c
index 29ec428..1ce8c76 100644
--- a/src/manette-monitor.c
+++ b/src/manette-monitor.c
@@ -75,9 +75,9 @@ load_mapping (ManetteMonitor *self,
ManetteDevice *device)
{
const gchar *guid;
- gchar *mapping_string;
- ManetteMapping *mapping = NULL;
- GError *error = NULL;
+ g_autofree gchar *mapping_string = NULL;
+ g_autoptr (ManetteMapping) mapping = NULL;
+ g_autoptr (GError) error = NULL;
guid = manette_device_get_guid (device);
mapping_string = manette_mapping_manager_get_mapping (self->mapping_manager,
@@ -85,24 +85,19 @@ load_mapping (ManetteMonitor *self,
mapping = manette_mapping_new (mapping_string, &error);
if (G_UNLIKELY (error != NULL)) {
g_debug ("%s", error->message);
- g_clear_error (&error);
- }
- if (mapping_string != NULL)
- g_free (mapping_string);
+ return;
+ }
manette_device_set_mapping (device, mapping);
-
- if (mapping != NULL)
- g_object_unref (mapping);
}
static void
add_device (ManetteMonitor *self,
const gchar *filename)
{
- ManetteDevice *device;
- GError *error = NULL;
+ g_autoptr (ManetteDevice) device = NULL;
+ g_autoptr (GError) error = NULL;
g_return_if_fail (self != NULL);
g_return_if_fail (filename != NULL);
@@ -115,9 +110,6 @@ add_device (ManetteMonitor *self,
if (!g_error_matches (error, G_FILE_ERROR, G_FILE_ERROR_NXIO))
g_debug ("Failed to open %s: %s", filename, error->message);
- g_error_free (error);
- error = NULL;
-
return;
}
@@ -127,7 +119,6 @@ add_device (ManetteMonitor *self,
g_strdup (filename),
g_object_ref (device));
g_signal_emit (self, signals[SIG_DEVICE_CONNECTED], 0, device);
- g_object_unref (device);
}
static void
@@ -339,26 +330,22 @@ file_monitor_changed_cb (GFileMonitor *monitor,
static void
coldplug_devices (ManetteMonitor *self)
{
- GDir *dir;
+ g_autoptr (GDir) dir = NULL;
const gchar *name = NULL;
- gchar *filename;
- GError *error = NULL;
+ g_autoptr (GError) error = NULL;
dir = g_dir_open (INPUT_DIRECTORY, (guint) 0, &error);
if (G_UNLIKELY (error != NULL)) {
g_debug ("%s", error->message);
- g_error_free (error);
return;
}
while ((name = g_dir_read_name (dir)) != NULL) {
+ g_autofree gchar *filename = NULL;
filename = g_build_filename (INPUT_DIRECTORY, name, NULL);
add_device (self, filename);
- g_free (filename);
}
-
- g_dir_close (dir);
}
static void
@@ -391,7 +378,7 @@ static void
mappings_changed_cb (ManetteMappingManager *mapping_manager,
ManetteMonitor *self)
{
- ManetteMonitorIter *iterator;
+ g_autoptr (ManetteMonitorIter) iterator = NULL;
ManetteDevice *device = NULL;
g_return_if_fail (MANETTE_IS_MONITOR (self));
@@ -399,7 +386,6 @@ mappings_changed_cb (ManetteMappingManager *mapping_manager,
iterator = manette_monitor_iterate (self);
while (manette_monitor_iter_next (iterator, &device))
load_mapping (self, device);
- manette_monitor_iter_free (iterator);
}
/* Public */
diff --git a/tests/test-event-mapping.c b/tests/test-event-mapping.c
index 228209b..8028ca3 100644
--- a/tests/test-event-mapping.c
+++ b/tests/test-event-mapping.c
@@ -45,13 +45,12 @@ static void
test_null (void)
{
ManetteMapping *mapping;
- GError *error = NULL;
+ g_autoptr (GError) error = NULL;
mapping = manette_mapping_new (NULL, &error);
g_assert_error (error,
MANETTE_MAPPING_ERROR,
MANETTE_MAPPING_ERROR_NOT_A_MAPPING);
- g_error_free (error);
g_assert_null (mapping);
}
@@ -59,7 +58,7 @@ test_null (void)
static void
test_empty_mapping (void)
{
- ManetteMapping *mapping;
+ g_autoptr (ManetteMapping) mapping = NULL;
ManetteEvent event = {};
GSList *mapped_events;
GError *error = NULL;
@@ -79,14 +78,12 @@ test_empty_mapping (void)
mapped_events = manette_map_event (mapping, &event);
g_assert_cmpint (g_slist_length (mapped_events), ==, 0);
-
- g_object_unref (mapping);
}
static void
test_button_mapping (void)
{
- ManetteMapping *mapping;
+ g_autoptr (ManetteMapping) mapping = NULL;
ManetteEvent event = {};
GSList *mapped_events;
ManetteEvent *mapped_event;
@@ -113,14 +110,12 @@ test_button_mapping (void)
g_assert_cmpuint (mapped_event->button.button, ==, BTN_SOUTH);
g_slist_free_full (mapped_events, (GDestroyNotify) manette_event_free);
-
- g_object_unref (mapping);
}
static void
test_axis_mapping (void)
{
- ManetteMapping *mapping;
+ g_autoptr (ManetteMapping) mapping = NULL;
ManetteEvent event = {};
GSList *mapped_events;
ManetteEvent *mapped_event;
@@ -163,14 +158,12 @@ test_axis_mapping (void)
g_assert_cmpfloat (mapped_event->absolute.value, ==, 0);
g_slist_free_full (mapped_events, (GDestroyNotify) manette_event_free);
-
- g_object_unref (mapping);
}
static void
test_hat_mapping (void)
{
- ManetteMapping *mapping;
+ g_autoptr (ManetteMapping) mapping = NULL;
ManetteEvent event = {};
GSList *mapped_events;
ManetteEvent *mapped_event;
@@ -224,14 +217,12 @@ test_hat_mapping (void)
g_assert_cmpuint (mapped_event->button.button, ==, BTN_DPAD_RIGHT);
g_slist_free_full (mapped_events, (GDestroyNotify) manette_event_free);
-
- g_object_unref (mapping);
}
static void
test_axis_dpad_mapping (void)
{
- ManetteMapping *mapping;
+ g_autoptr (ManetteMapping) mapping = NULL;
ManetteEvent event = {};
GSList *mapped_events;
ManetteEvent *mapped_event;
@@ -359,14 +350,12 @@ test_axis_dpad_mapping (void)
g_assert_cmpuint (mapped_event->button.button, ==, BTN_DPAD_DOWN);
g_slist_free_full (mapped_events, (GDestroyNotify) manette_event_free);
-
- g_object_unref (mapping);
}
static void
test_axis_trigger_mapping (void)
{
- ManetteMapping *mapping;
+ g_autoptr (ManetteMapping) mapping = NULL;
ManetteEvent event = {};
GSList *mapped_events;
ManetteEvent *mapped_event;
@@ -448,8 +437,6 @@ test_axis_trigger_mapping (void)
g_assert_cmpuint (mapped_event->button.button, ==, BTN_TR2);
g_slist_free_full (mapped_events, (GDestroyNotify) manette_event_free);
-
- g_object_unref (mapping);
}
int
diff --git a/tests/test-mapping-manager.c b/tests/test-mapping-manager.c
index afa30ad..d0d7815 100644
--- a/tests/test-mapping-manager.c
+++ b/tests/test-mapping-manager.c
@@ -21,12 +21,11 @@
static void
test_valid (void)
{
- ManetteMappingManager *mapping_manager;
+ g_autoptr (ManetteMappingManager) mapping_manager = NULL;
mapping_manager = manette_mapping_manager_new ();
g_assert_nonnull (mapping_manager);
g_assert_true (MANETTE_IS_MAPPING_MANAGER (mapping_manager));
- g_object_unref (mapping_manager);
}
int
diff --git a/tests/test-mapping.c b/tests/test-mapping.c
index 9c9ebf7..b968aa5 100644
--- a/tests/test-mapping.c
+++ b/tests/test-mapping.c
@@ -28,13 +28,12 @@ static void
test_null (void)
{
ManetteMapping *mapping;
- GError *error = NULL;
+ g_autoptr (GError) error = NULL;
mapping = manette_mapping_new (NULL, &error);
g_assert_error (error,
MANETTE_MAPPING_ERROR,
MANETTE_MAPPING_ERROR_NOT_A_MAPPING);
- g_error_free (error);
g_assert_null (mapping);
}
@@ -43,13 +42,12 @@ static void
test_empty (void)
{
ManetteMapping *mapping;
- GError *error = NULL;
+ g_autoptr (GError) error = NULL;
mapping = manette_mapping_new ("", &error);
g_assert_error (error,
MANETTE_MAPPING_ERROR,
MANETTE_MAPPING_ERROR_NOT_A_MAPPING);
- g_error_free (error);
g_assert_null (mapping);
}
@@ -57,20 +55,19 @@ test_empty (void)
static void
test_valid (void)
{
- ManetteMapping *mapping;
+ g_autoptr (ManetteMapping) mapping = NULL;
GError *error = NULL;
mapping = manette_mapping_new (MAPPING_STEAM_CONTROLLER, &error);
g_assert_no_error (error);
g_assert_nonnull (mapping);
g_assert_true (MANETTE_IS_MAPPING (mapping));
- g_object_unref (mapping);
}
static void
test_button_bindings (void)
{
- ManetteMapping *mapping;
+ g_autoptr (ManetteMapping) mapping = NULL;
const ManetteMappingBinding * const *bindings;
const ManetteMappingBinding *binding;
GError *error = NULL;
@@ -147,14 +144,12 @@ test_button_bindings (void)
g_assert_cmpint (binding->destination.type, ==, EV_KEY);
g_assert_cmpint (binding->destination.code, ==, BTN_NORTH);
g_assert_cmpint (binding->destination.range, ==, MANETTE_MAPPING_RANGE_FULL);
-
- g_object_unref (mapping);
}
static void
test_axis_bindings (void)
{
- ManetteMapping *mapping;
+ g_autoptr (ManetteMapping) mapping = NULL;
const ManetteMappingBinding * const *bindings;
const ManetteMappingBinding *binding;
GError *error = NULL;
@@ -197,14 +192,12 @@ test_axis_bindings (void)
g_assert_cmpint (binding->destination.type, ==, EV_ABS);
g_assert_cmpint (binding->destination.code, ==, ABS_Y);
g_assert_cmpint (binding->destination.range, ==, MANETTE_MAPPING_RANGE_FULL);
-
- g_object_unref (mapping);
}
static void
test_axis_range_bindings (void)
{
- ManetteMapping *mapping;
+ g_autoptr (ManetteMapping) mapping = NULL;
const ManetteMappingBinding * const *bindings;
const ManetteMappingBinding *binding;
GError *error = NULL;
@@ -267,14 +260,12 @@ test_axis_range_bindings (void)
g_assert_cmpint (binding->destination.type, ==, EV_ABS);
g_assert_cmpint (binding->destination.code, ==, ABS_RY);
g_assert_cmpint (binding->destination.range, ==, MANETTE_MAPPING_RANGE_POSITIVE);
-
- g_object_unref (mapping);
}
static void
test_hat_x_bindings (void)
{
- ManetteMapping *mapping;
+ g_autoptr (ManetteMapping) mapping = NULL;
const ManetteMappingBinding * const *bindings;
const ManetteMappingBinding *binding;
GError *error = NULL;
@@ -310,14 +301,12 @@ test_hat_x_bindings (void)
g_assert_cmpint (binding->destination.type, ==, EV_KEY);
g_assert_cmpint (binding->destination.code, ==, BTN_DPAD_RIGHT);
g_assert_cmpint (binding->destination.range, ==, MANETTE_MAPPING_RANGE_FULL);
-
- g_object_unref (mapping);
}
static void
test_hat_y_bindings (void)
{
- ManetteMapping *mapping;
+ g_autoptr (ManetteMapping) mapping = NULL;
const ManetteMappingBinding * const *bindings;
const ManetteMappingBinding *binding;
GError *error = NULL;
@@ -353,14 +342,12 @@ test_hat_y_bindings (void)
g_assert_cmpint (binding->destination.type, ==, EV_KEY);
g_assert_cmpint (binding->destination.code, ==, BTN_DPAD_DOWN);
g_assert_cmpint (binding->destination.range, ==, MANETTE_MAPPING_RANGE_FULL);
-
- g_object_unref (mapping);
}
static void
test_has_destination_input (void)
{
- ManetteMapping *mapping;
+ g_autoptr (ManetteMapping) mapping = NULL;
GError *error = NULL;
mapping = manette_mapping_new (MAPPING_STEAM_CONTROLLER, &error);
@@ -397,8 +384,6 @@ test_has_destination_input (void)
g_assert_false (manette_mapping_has_destination_input (mapping, EV_ABS, ABS_RZ));
g_assert_false (manette_mapping_has_destination_input (mapping, EV_ABS, ABS_HAT0X));
g_assert_false (manette_mapping_has_destination_input (mapping, EV_ABS, ABS_HAT0Y));
-
- g_object_unref (mapping);
}
int
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]