--- src/daemon.c.orig 2014-03-20 11:16:56.000000000 -0700 +++ src/daemon.c 2014-03-21 08:59:15.000000000 -0700 @@ -48,7 +48,7 @@ #define PATH_PASSWD "/etc/passwd" #define PATH_SHADOW "/etc/shadow" #define PATH_GROUP "/etc/group" -#define PATH_GDM_CUSTOM "/etc/gdm/custom.conf" +#define PATH_GDM_CUSTOM "@@MP_PREFIX@@/etc/gdm/custom.conf" enum { PROP_0, @@ -137,6 +137,22 @@ gpointer *state) { struct passwd *pwent; +#ifdef __APPLE__ + + /* First iteration */ + if (*state == NULL) { + setpwent(); + *state = 1; + } + + /* Every iteration */ + pwent = getpwent (); + if (pwent != NULL) { + return pwent; + } + + /* Last iteration */ +#else FILE *fp; /* First iteration */ @@ -157,6 +173,7 @@ /* Last iteration */ fclose (fp); +#endif *state = NULL; return NULL; }