diff options
author | Jasper St. Pierre <jstpierre@mecheye.net> | 2014-02-13 14:52:49 -0500 |
---|---|---|
committer | Jasper St. Pierre <jstpierre@mecheye.net> | 2014-02-13 14:53:18 -0500 |
commit | d94f5a79acf308e2d1adb25790e8379f8a839ba3 (patch) | |
tree | 7a463c81feb26f6cae07a4516b747fde8273970a /daemon/gdm-display.c | |
parent | f379aa285d70ff57a274d48a3b93e81f3ebe696d (diff) | |
download | gdm-d94f5a79acf308e2d1adb25790e8379f8a839ba3.tar.gz |
display: Clean up get_timed_login_details
Make it properly log itself as a GdmDisplay method, and use
local variables to ensure that callers can pass NULL.
Diffstat (limited to 'daemon/gdm-display.c')
-rw-r--r-- | daemon/gdm-display.c | 34 |
1 files changed, 26 insertions, 8 deletions
diff --git a/daemon/gdm-display.c b/daemon/gdm-display.c index 17911278..67ebac8d 100644 --- a/daemon/gdm-display.c +++ b/daemon/gdm-display.c @@ -438,20 +438,38 @@ gdm_display_real_get_timed_login_details (GdmDisplay *display, gboolean gdm_display_get_timed_login_details (GdmDisplay *display, - gboolean *enabled, - char **username, - int *delay, + gboolean *out_enabled, + char **out_username, + int *out_delay, GError **error) { + gboolean enabled; + char *username; + int delay; + g_return_val_if_fail (GDM_IS_DISPLAY (display), FALSE); - GDM_DISPLAY_GET_CLASS (display)->get_timed_login_details (display, enabled, username, delay); + GDM_DISPLAY_GET_CLASS (display)->get_timed_login_details (display, &enabled, &username, &delay); - g_debug ("GdmSlave: Got timed login details for display %s: %d '%s' %d", + g_debug ("GdmDisplay: Got timed login details for display %s: %d '%s' %d", display->priv->x11_display_name, - *enabled, - *username ? *username : "(null)", - *delay); + enabled, + username, + delay); + + if (out_enabled) { + *out_enabled = enabled; + } + + if (out_username) { + *out_username = username; + } else { + g_free (username); + } + + if (out_delay) { + *out_delay = delay; + } return TRUE; } |