summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--x11/gdm/files/patch-gui_simple-greeter_gdm-user-manager.c23
1 files changed, 12 insertions, 11 deletions
diff --git a/x11/gdm/files/patch-gui_simple-greeter_gdm-user-manager.c b/x11/gdm/files/patch-gui_simple-greeter_gdm-user-manager.c
index a4b6f4590..d666bc1fd 100644
--- a/x11/gdm/files/patch-gui_simple-greeter_gdm-user-manager.c
+++ b/x11/gdm/files/patch-gui_simple-greeter_gdm-user-manager.c
@@ -1,17 +1,20 @@
---- gui/simple-greeter/gdm-user-manager.c.orig 2008-05-02 14:45:56.000000000 -0400
-+++ gui/simple-greeter/gdm-user-manager.c 2008-05-02 14:45:36.000000000 -0400
-@@ -1269,17 +1269,21 @@ reload_passwd (GdmUserManager *manager)
+--- gui/simple-greeter/gdm-user-manager.c.orig 2008-04-29 13:38:43.000000000 -0400
++++ gui/simple-greeter/gdm-user-manager.c 2008-05-03 13:27:52.000000000 -0400
+@@ -1269,17 +1269,23 @@ reload_passwd (GdmUserManager *manager)
GSList *old_users;
GSList *new_users;
GSList *list;
+- FILE *fp;
+#ifndef __FreeBSD__
- FILE *fp;
++ FILE *fp;
+#endif
old_users = NULL;
new_users = NULL;
-+#ifndef __FreeBSD__
++#ifdef __FreeBSD__
++ setpwent ();
++#else
errno = 0;
fp = fopen (PATH_PASSWD, "r");
if (fp == NULL) {
@@ -22,21 +25,19 @@
g_hash_table_foreach (manager->priv->users, listify_hash_values_hfunc, &old_users);
g_slist_foreach (old_users, (GFunc) g_object_ref, NULL);
-@@ -1291,7 +1295,13 @@ reload_passwd (GdmUserManager *manager)
- new_users = g_slist_prepend (new_users, g_object_ref (list->data));
+@@ -1292,7 +1298,11 @@ reload_passwd (GdmUserManager *manager)
}
}
+
+#ifdef __FreeBSD__
-+ setpwent ();
-+
-+ for (pwent = getpwent (); pwent != NULL; pwent = getpwent ()) {
++ for (pwent = getpwent (); pwent != NULL; pwent = getpwent ()) {
+#else
for (pwent = fgetpwent (fp); pwent != NULL; pwent = fgetpwent (fp)) {
+#endif
GdmUser *user;
user = NULL;
-@@ -1354,7 +1364,11 @@ reload_passwd (GdmUserManager *manager)
+@@ -1355,7 +1365,11 @@ reload_passwd (GdmUserManager *manager)
out:
/* Cleanup */