summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/etc/etc.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/ext/etc/etc.c b/ext/etc/etc.c
index d57c26555b..5c08ba82ce 100644
--- a/ext/etc/etc.c
+++ b/ext/etc/etc.c
@@ -125,6 +125,12 @@ safe_setup_filesystem_str(const char *str)
#endif
#ifdef HAVE_GETPWENT
+# ifdef __APPLE__
+# define PW_EXPIRE2VAL(t) INT2NUM((int)(t))
+# else
+# define PW_EXPIRE2VAL(t) TIMET2NUM(t)
+# endif
+
static VALUE
setup_passwd(struct passwd *pwd)
{
@@ -157,7 +163,7 @@ setup_passwd(struct passwd *pwd)
safe_setup_locale_str(pwd->pw_comment),
#endif
#ifdef HAVE_STRUCT_PASSWD_PW_EXPIRE
- TIMET2NUM(pwd->pw_expire),
+ PW_EXPIRE2VAL(pwd->pw_expire),
#endif
0 /*dummy*/
);