From 3f236ce7ba7bce9a92df2989914fed9957bc89de Mon Sep 17 00:00:00 2001 From: charliesome Date: Sat, 22 Jun 2013 05:43:08 +0000 Subject: * ext/etc/etc.c (Init_etc): omit 'passwd' from definition of Etc::Passwd if HAVE_STRUCT_PASSWD_PW_PASSWD is not defined to prevent mismatch of fields and values in setup_passwd git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41562 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ext/etc/etc.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'ext/etc') diff --git a/ext/etc/etc.c b/ext/etc/etc.c index 1c52535c40..7fbe2e9ae0 100644 --- a/ext/etc/etc.c +++ b/ext/etc/etc.c @@ -673,11 +673,17 @@ Init_etc(void) rb_define_module_function(mEtc, "systmpdir", etc_systmpdir, 0); sPasswd = rb_struct_define(NULL, - "name", "passwd", "uid", "gid", + "name", +#ifdef HAVE_STRUCT_PASSWD_PW_PASSWD + "passwd", +#endif + "uid", + "gid", #ifdef HAVE_STRUCT_PASSWD_PW_GECOS "gecos", #endif - "dir", "shell", + "dir", + "shell", #ifdef HAVE_STRUCT_PASSWD_PW_CHANGE "change", #endif -- cgit v1.2.3