From 4a22da5123f3097fa0e3fff82a5b556b0f021f7b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= <mail@3v1n0.net>
Date: Fri, 1 Jun 2018 17:22:20 +0200
Subject: [PATCH 08/15] libgdm: Use auto-pointers and cleanup code
---
libgdm/gdm-client.c | 13 +++++--------
1 file changed, 5 insertions(+), 8 deletions(-)
diff --git a/libgdm/gdm-client.c b/libgdm/gdm-client.c
index 335a040a2..7b42b6c99 100644
--- a/libgdm/gdm-client.c
+++ b/libgdm/gdm-client.c
@@ -579,109 +579,106 @@ gdm_client_get_connection (GdmClient *client,
get_manager (client,
cancellable,
(GAsyncReadyCallback)
on_got_manager_for_opening_connection,
task);
}
/**
* gdm_client_open_reauthentication_channel_sync:
* @client: a #GdmClient
* @username: user to reauthenticate
* @cancellable: a #GCancellable
* @error: a #GError
*
* Gets a #GdmUserVerifier object that can be used to
* reauthenticate an already logged in user. Free with
* g_object_unref to close reauthentication channel.
*
* Returns: (transfer full): #GdmUserVerifier or %NULL if @username is not
* already logged in.
*/
GdmUserVerifier *
gdm_client_open_reauthentication_channel_sync (GdmClient *client,
const char *username,
GCancellable *cancellable,
GError **error)
{
g_autoptr(GDBusConnection) connection = NULL;
g_autoptr(GdmManager) manager = NULL;
+ g_autofree char *address = NULL;
GdmUserVerifier *user_verifier = NULL;
gboolean ret;
- char *address;
g_return_val_if_fail (GDM_IS_CLIENT (client), FALSE);
manager = gdm_manager_proxy_new_for_bus_sync (G_BUS_TYPE_SYSTEM,
G_DBUS_PROXY_FLAGS_NONE,
"org.gnome.DisplayManager",
"/org/gnome/DisplayManager/Manager",
cancellable,
error);
if (manager == NULL) {
- goto out;
+ return NULL;
}
ret = gdm_manager_call_open_reauthentication_channel_sync (manager,
username,
&address,
cancellable,
error);
if (!ret) {
- goto out;
+ return NULL;
}
- g_debug ("GdmClient: connecting to address: %s", client->priv->address);
+ g_debug ("GdmClient: connecting to address: %s", address);
connection = g_dbus_connection_new_for_address_sync (address,
G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_CLIENT,
NULL,
cancellable,
error);
if (connection == NULL) {
- g_free (address);
- goto out;
+ return NULL;
}
- g_free (address);
user_verifier = gdm_user_verifier_proxy_new_sync (connection,
G_DBUS_PROXY_FLAGS_NONE,
NULL,
SESSION_DBUS_PATH,
cancellable,
error);
- out:
return user_verifier;
}
/**
* gdm_client_open_reauthentication_channel:
* @client: a #GdmClient
* @username: user to reauthenticate
* @callback: a #GAsyncReadyCallback to call when the request is satisfied
* @user_data: The data to pass to @callback
* @cancellable: a #GCancellable
*
* Gets a #GdmUserVerifier object that can be used to
* reauthenticate an already logged in user.
*/
void
gdm_client_open_reauthentication_channel (GdmClient *client,
const char *username,
GCancellable *cancellable,
GAsyncReadyCallback callback,
gpointer user_data)
{
GTask *task;
g_return_if_fail (GDM_IS_CLIENT (client));
task = g_task_new (G_OBJECT (client),
cancellable,
callback,
user_data);
--
2.25.1