summaryrefslogtreecommitdiffstats
path: root/x11/gdm/files/patch-gui_simple-greeter_gdm-user-manager.c
diff options
context:
space:
mode:
authorkwm <kwm@df743ca5-7f9a-e211-a948-0013205c9059>2010-06-06 04:47:57 +0800
committerkwm <kwm@df743ca5-7f9a-e211-a948-0013205c9059>2010-06-06 04:47:57 +0800
commitccc8fdb702b4ead90f43a9e234d81a9ffe3c3df9 (patch)
tree7b452f6d5f4cf0cb5ec074cdb5f1b35b7e824c22 /x11/gdm/files/patch-gui_simple-greeter_gdm-user-manager.c
parent9b15d70338eee66a834440fbafa7bded005c9cac (diff)
downloadmarcuscom-ports-ccc8fdb702b4ead90f43a9e234d81a9ffe3c3df9.tar.gz
marcuscom-ports-ccc8fdb702b4ead90f43a9e234d81a9ffe3c3df9.tar.zst
marcuscom-ports-ccc8fdb702b4ead90f43a9e234d81a9ffe3c3df9.zip
Update to 2.31.1.
git-svn-id: svn://creme-brulee.marcuscom.com/ports/trunk@14179 df743ca5-7f9a-e211-a948-0013205c9059
Diffstat (limited to 'x11/gdm/files/patch-gui_simple-greeter_gdm-user-manager.c')
-rw-r--r--x11/gdm/files/patch-gui_simple-greeter_gdm-user-manager.c64
1 files changed, 64 insertions, 0 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
new file mode 100644
index 000000000..b0b8ed37d
--- /dev/null
+++ b/x11/gdm/files/patch-gui_simple-greeter_gdm-user-manager.c
@@ -0,0 +1,64 @@
+--- gui/simple-greeter/gdm-user-manager.c.orig 2009-12-21 17:36:30.000000000 +0100
++++ gui/simple-greeter/gdm-user-manager.c 2009-12-27 22:34:26.000000000 +0100
+@@ -66,6 +66,8 @@
+
+ #ifdef __sun
+ #define DEFAULT_MINIMAL_UID 100
++#elif defined(__FreeBSD__)
++#define DEFAULT_MINIMAL_UID 1000
+ #else
+ #define DEFAULT_MINIMAL_UID 500
+ #endif
+@@ -1414,17 +1416,24 @@ reload_passwd (GdmUserManager *manager)
+ GSList *new_users;
+ GSList *list;
+ GSList *dup;
++#ifndef __FreeBSD__
+ FILE *fp;
++#endif
+
+ old_users = NULL;
+ new_users = NULL;
+
++#ifdef __FreeBSD__
++ setpwent ();
++#else
++
+ errno = 0;
+ fp = fopen (PATH_PASSWD, "r");
+ if (fp == NULL) {
+ g_warning ("Unable to open %s: %s", PATH_PASSWD, g_strerror (errno));
+ goto out;
+ }
++#endif
+
+ g_hash_table_foreach (manager->priv->users, listify_hash_values_hfunc, &old_users);
+ g_slist_foreach (old_users, (GFunc) g_object_ref, NULL);
+@@ -1443,9 +1452,15 @@ reload_passwd (GdmUserManager *manager)
+ } else {
+ g_debug ("GdmUserManager: include_all is TRUE");
+
++#ifdef __FreeBSD__
++ for (pwent = getpwent ();
++ pwent != NULL;
++ pwent = getpwent()) {
++#else
+ for (pwent = fgetpwent (fp);
+ pwent != NULL;
+ pwent = fgetpwent (fp)) {
++#endif
+ GdmUser *user;
+
+ user = NULL;
+@@ -1521,7 +1536,11 @@ reload_passwd (GdmUserManager *manager)
+ out:
+ /* Cleanup */
+
++#ifdef __FreeBSD__
++ endpwent ();
++#else
+ fclose (fp);
++#endif
+
+ g_slist_foreach (new_users, (GFunc) g_object_thaw_notify, NULL);
+ g_slist_foreach (new_users, (GFunc) g_object_unref, NULL);