summaryrefslogtreecommitdiff
path: root/src/daemon.c
diff options
context:
space:
mode:
authorRay Strode <rstrode@redhat.com>2018-09-06 16:08:21 -0400
committerRay Strode <rstrode@redhat.com>2018-09-06 16:08:21 -0400
commita341079f88098eb999edb7662521b84dc71131c5 (patch)
tree026e8921f1e69548543ae75f16c055cd60abe019 /src/daemon.c
parent45089bd9dac99f05324f9fc15b1135ec0f5ccefa (diff)
parentffc422c4e81d8c83ea16f937255d9e4d6d730481 (diff)
Merge branch 'rancell/accountsservice-type-punned-warning'
Diffstat (limited to 'src/daemon.c')
-rw-r--r--src/daemon.c27
1 files changed, 16 insertions, 11 deletions
diff --git a/src/daemon.c b/src/daemon.c
index ea23e60..2a9e1b5 100644
--- a/src/daemon.c
+++ b/src/daemon.c
@@ -257,8 +257,7 @@ entry_generator_cachedir (Daemon *daemon,
g_autoptr(GError) error = NULL;
gboolean regular;
GHashTableIter iter;
- const gchar *name;
- User *user;
+ gpointer key, value;
GDir *dir;
/* First iteration */
@@ -313,7 +312,9 @@ entry_generator_cachedir (Daemon *daemon,
/* Update all the users from the files in the cache dir */
g_hash_table_iter_init (&iter, users);
- while (g_hash_table_iter_next (&iter, (gpointer *)&name, (gpointer *)&user)) {
+ while (g_hash_table_iter_next (&iter, &key, &value)) {
+ const gchar *name = key;
+ User *user = value;
g_autofree gchar *filename = NULL;
g_autoptr(GKeyFile) key_file = NULL;
@@ -451,8 +452,7 @@ reload_users (Daemon *daemon)
GHashTable *local;
GHashTableIter iter;
gsize number_of_normal_users = 0;
- gpointer name;
- User *user;
+ gpointer name, value;
/* Track the users that we saw during our (re)load */
users = create_users_hash_table ();
@@ -480,7 +480,8 @@ reload_users (Daemon *daemon)
/* Count the non-system users. Mark which users are local, which are not. */
g_hash_table_iter_init (&iter, users);
- while (g_hash_table_iter_next (&iter, &name, (gpointer *)&user)) {
+ while (g_hash_table_iter_next (&iter, &name, &value)) {
+ User *user = value;
if (!user_get_system_account (user))
number_of_normal_users++;
user_update_local_account_property (user, g_hash_table_lookup (local, name) != NULL);
@@ -505,7 +506,8 @@ reload_users (Daemon *daemon)
/* Remove all the old users */
g_hash_table_iter_init (&iter, old_users);
- while (g_hash_table_iter_next (&iter, &name, (gpointer *)&user)) {
+ while (g_hash_table_iter_next (&iter, &name, &value)) {
+ User *user = value;
User *refreshed_user;
refreshed_user = g_hash_table_lookup (users, name);
@@ -519,7 +521,8 @@ reload_users (Daemon *daemon)
/* Register all the new users */
g_hash_table_iter_init (&iter, users);
- while (g_hash_table_iter_next (&iter, &name, (gpointer *)&user)) {
+ while (g_hash_table_iter_next (&iter, &name, &value)) {
+ User *user = value;
User *stale_user;
stale_user = g_hash_table_lookup (old_users, name);
@@ -977,15 +980,17 @@ finish_list_cached_users (gpointer user_data)
DaemonPrivate *priv = daemon_get_instance_private (data->daemon);
g_autoptr(GPtrArray) object_paths = NULL;
GHashTableIter iter;
- const gchar *name;
- User *user;
+ gpointer key, value;
uid_t uid;
const gchar *shell;
object_paths = g_ptr_array_new ();
g_hash_table_iter_init (&iter, priv->users);
- while (g_hash_table_iter_next (&iter, (gpointer *)&name, (gpointer *)&user)) {
+ while (g_hash_table_iter_next (&iter, &key, &value)) {
+ const gchar *name = key;
+ User *user = value;
+
uid = user_get_uid (user);
shell = user_get_shell (user);