[gnome-initial-setup/auto-free-things: 3/3] keyring: Use g_autoptr() instead of goto



commit a3482f7b58c0cdd33dda61aeecffd0ac3b8b1ac7
Author: Matthew Leeds <matthew leeds endlessm com>
Date:   Wed Mar 18 14:37:58 2020 -0700

    keyring: Use g_autoptr() instead of goto
    
    For this we need libsecret 0.18.8

 gnome-initial-setup/gis-keyring.c | 28 +++++++---------------------
 gnome-initial-setup/meson.build   |  2 +-
 2 files changed, 8 insertions(+), 22 deletions(-)
---
diff --git a/gnome-initial-setup/gis-keyring.c b/gnome-initial-setup/gis-keyring.c
index e8ee2ef..7035e6f 100644
--- a/gnome-initial-setup/gis-keyring.c
+++ b/gnome-initial-setup/gis-keyring.c
@@ -63,24 +63,22 @@ gis_ensure_login_keyring ()
 void
 gis_update_login_keyring_password (const gchar *new_)
 {
-       GDBusConnection *bus = NULL;
-       SecretService *service = NULL;
-       SecretValue *old_secret = NULL;
-       SecretValue *new_secret = NULL;
-       GError *error = NULL;
+       g_autoptr(GDBusConnection) bus = NULL;
+       g_autoptr(SecretService) service = NULL;
+       g_autoptr(SecretValue) old_secret = NULL;
+       g_autoptr(SecretValue) new_secret = NULL;
+       g_autoptr(GError) error = NULL;
        
        service = secret_service_get_sync (SECRET_SERVICE_OPEN_SESSION, NULL, &error);
        if (service == NULL) {
                g_warning ("Failed to get secret service: %s", error->message);
-               g_error_free (error);
-               goto out;
+               return;
        }
 
        bus = g_bus_get_sync (G_BUS_TYPE_SESSION, NULL, &error);
        if (bus == NULL) {
                g_warning ("Failed to get session bus: %s", error->message);
-               g_error_free (error);
-               goto out;
+               return;
        }
 
        old_secret = secret_value_new (DUMMY_PWD, strlen (DUMMY_PWD), "text/plain");
@@ -102,17 +100,5 @@ gis_update_login_keyring_password (const gchar *new_)
 
         if (error != NULL) {
           g_warning ("Failed to change keyring password: %s", error->message);
-          g_error_free (error);
         }
-
-out:
-
-       if (service)
-               g_object_unref (service);
-       if (bus)
-               g_object_unref (bus);
-       if (old_secret)
-               secret_value_unref (old_secret);
-       if (new_secret)
-               secret_value_unref (new_secret);
 }
diff --git a/gnome-initial-setup/meson.build b/gnome-initial-setup/meson.build
index 5f83bfe..75890ba 100644
--- a/gnome-initial-setup/meson.build
+++ b/gnome-initial-setup/meson.build
@@ -46,7 +46,7 @@ dependencies = [
     dependency ('rest-0.7'),
     dependency ('json-glib-1.0'),
     dependency ('krb5'),
-    dependency ('libsecret-1'),
+    dependency ('libsecret-1', '>= 0.18.8'),
     dependency ('pwquality'),
     dependency ('webkit2gtk-4.0'),
     cheese_dep,


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]