From 8da99f2745df916fc6f3e44e1eea38708c604558 Mon Sep 17 00:00:00 2001 From: Gunnar Hjalmarsson Date: Wed, 5 Feb 2014 14:42:22 +0000 Subject: [PATCH 1/2] Move cache cleanup out into a common function and clean up icon too --- src/daemon.c | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/src/daemon.c b/src/daemon.c index cb36f01..5c91a7f 100644 --- a/src/daemon.c +++ b/src/daemon.c @@ -162,6 +162,20 @@ user_previous_login_free (UserPreviousLogin *previous_login) g_free (previous_login); } +static void +remove_cache_files (const gchar *user_name) +{ + gchar *filename; + + filename = g_build_filename (USERDIR, user_name, NULL); + g_remove (filename); + g_free (filename); + + filename = g_build_filename (ICONDIR, user_name, NULL); + g_remove (filename); + g_free (filename); +} + static struct passwd * entry_generator_wtmp (GHashTable *users, gpointer *state) @@ -1184,7 +1198,6 @@ daemon_uncache_user_authorized_cb (Daemon *daemon, gpointer data) { const gchar *user_name = data; - gchar *filename; User *user; sys_log (context, "uncache user '%s'", user_name); @@ -1199,13 +1212,7 @@ daemon_uncache_user_authorized_cb (Daemon *daemon, /* Always use the canonical user name looked up */ user_name = user_get_user_name (user); - filename = g_build_filename (USERDIR, user_name, NULL); - g_remove (filename); - g_free (filename); - - filename = g_build_filename (ICONDIR, user_name, NULL); - g_remove (filename); - g_free (filename); + remove_cache_files (user_name); accounts_accounts_complete_uncache_user (NULL, context); @@ -1245,7 +1252,6 @@ daemon_delete_user_authorized_cb (Daemon *daemon, { DeleteUserData *ud = data; GError *error; - gchar *filename; struct passwd *pwent; const gchar *argv[6]; @@ -1272,13 +1278,7 @@ daemon_delete_user_authorized_cb (Daemon *daemon, } - filename = g_build_filename (USERDIR, pwent->pw_name, NULL); - g_remove (filename); - g_free (filename); - - filename = g_build_filename (ICONDIR, pwent->pw_name, NULL); - g_remove (filename); - g_free (filename); + remove_cache_files (pwent->pw_name); argv[0] = "/usr/sbin/userdel"; if (ud->remove_files) { -- 1.9.rc1