diff options
Diffstat (limited to 'ext/etc')
-rw-r--r-- | ext/etc/etc.c | 4 | ||||
-rw-r--r-- | ext/etc/extconf.rb | 2 |
2 files changed, 6 insertions, 0 deletions
diff --git a/ext/etc/etc.c b/ext/etc/etc.c index 807a98c6b7..c42f279d58 100644 --- a/ext/etc/etc.c +++ b/ext/etc/etc.c @@ -67,7 +67,9 @@ setup_passwd(pwd) if (pwd == 0) rb_sys_fail("/etc/passwd"); return rb_struct_new(sPasswd, safe_setup_str(pwd->pw_name), +#ifdef HAVE_ST_PW_PASSWD safe_setup_str(pwd->pw_passwd), +#endif INT2FIX(pwd->pw_uid), INT2FIX(pwd->pw_gid), #ifdef HAVE_ST_PW_GECOS @@ -235,7 +237,9 @@ setup_group(grp) } return rb_struct_new(sGroup, safe_setup_str(grp->gr_name), +#ifdef HAVE_ST_GR_PASSWD safe_setup_str(grp->gr_passwd), +#endif INT2FIX(grp->gr_gid), mem); } diff --git a/ext/etc/extconf.rb b/ext/etc/extconf.rb index bf6890ca9d..16f2da352b 100644 --- a/ext/etc/extconf.rb +++ b/ext/etc/extconf.rb @@ -12,5 +12,7 @@ if a or b or c have_struct_member('struct passwd', 'pw_class', 'pwd.h') have_struct_member('struct passwd', 'pw_comment', 'pwd.h') unless /cygwin/ === RUBY_PLATFORM have_struct_member('struct passwd', 'pw_expire', 'pwd.h') + have_struct_member('struct passwd', 'pw_passwd', 'pwd.h') + have_struct_member('struct group', 'gr_passwd', 'grp.h') create_makefile("etc") end |