diff options
author | kwm <kwm@df743ca5-7f9a-e211-a948-0013205c9059> | 2010-06-06 04:47:57 +0800 |
---|---|---|
committer | kwm <kwm@df743ca5-7f9a-e211-a948-0013205c9059> | 2010-06-06 04:47:57 +0800 |
commit | ccc8fdb702b4ead90f43a9e234d81a9ffe3c3df9 (patch) | |
tree | 7b452f6d5f4cf0cb5ec074cdb5f1b35b7e824c22 /x11/gdm/files/patch-gui_simple-greeter_gdm-user-manager.c | |
parent | 9b15d70338eee66a834440fbafa7bded005c9cac (diff) | |
download | marcuscom-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.c | 64 |
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); |