From 9bc9c63d27e45abaabf3a62c6fb0d22a9eaf2f55 Mon Sep 17 00:00:00 2001 From: nobu Date: Tue, 17 Feb 2009 16:58:12 +0000 Subject: [PATCH] * ext/etc/etc.c (sGroup): getgrent may not be available. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@22381 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 4 ++++ ext/etc/etc.c | 9 ++++++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index ec3d868acf..6f319703cd 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Wed Feb 18 01:58:11 2009 Nobuyoshi Nakada + + * ext/etc/etc.c (sGroup): getgrent may not be available. + Tue Feb 17 17:02:45 2009 Nobuyoshi Nakada * version.c, version.h: NO_STRING_LITERAL_CONCATENATION support. diff --git a/ext/etc/etc.c b/ext/etc/etc.c index 250e131e01..fe72fa2a8c 100644 --- a/ext/etc/etc.c +++ b/ext/etc/etc.c @@ -27,7 +27,10 @@ #define uid_t int #endif -static VALUE sPasswd, sGroup; +static VALUE sPasswd; +#ifdef HAVE_GETGRENT +static VALUE sGroup; +#endif #ifndef _WIN32 char *getenv(); @@ -139,7 +142,7 @@ etc_getpwuid(argc, argv, obj) uid = getuid(); } pwd = getpwuid(uid); - if (pwd == 0) rb_raise(rb_eArgError, "can't find user for %d", uid); + if (pwd == 0) rb_raise(rb_eArgError, "can't find user for %d", (int)uid); return setup_passwd(pwd); #else return Qnil; @@ -341,7 +344,7 @@ etc_getgrgid(obj, id) rb_secure(4); gid = PW_VAL2GID(id); grp = getgrgid(gid); - if (grp == 0) rb_raise(rb_eArgError, "can't find group for %d", gid); + if (grp == 0) rb_raise(rb_eArgError, "can't find group for %d", (int)gid); return setup_group(grp); #else return Qnil;