summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--configure.in3
-rw-r--r--process.c4
3 files changed, 11 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 7ecaa3e96e..10e1ba144b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+Sun Apr 28 00:35:45 2013 Tanaka Akira <akr@fsij.org>
+
+ * process.c (obj2gid): Don't call endgrnam() if not exist.
+ Bionic (Android's libc) don't have endgrnam().
+
+ * configure.in: Check endgrnam function.
+
Sat Apr 27 23:53:00 2013 Charlie Somerville <charlie@charliesomerville.com>
* lib/yaml.rb: add security warning to YAML documentation
diff --git a/configure.in b/configure.in
index 9bcb1b9cc1..5e6d253900 100644
--- a/configure.in
+++ b/configure.in
@@ -1700,7 +1700,8 @@ AC_CHECK_FUNCS(fmod killpg wait4 waitpid fork spawnv syscall __syscall chroot ge
setitimer setruid seteuid setreuid setresuid socketpair\
setrgid setegid setregid setresgid issetugid pause lchown lchmod\
getpgrp setpgrp getpgid setpgid initgroups getgroups setgroups\
- getpriority getrlimit setrlimit sysconf close getpwnam_r getgrnam_r\
+ getpriority getrlimit setrlimit sysconf close \
+ getpwnam_r getgrnam_r endgrnam \
dlopen sigprocmask sigaction _setjmp _longjmp\
getsid setsid telldir seekdir fchmod cosh sinh tanh log2 round llabs\
setuid setgid daemon select_large_fdset setenv unsetenv\
diff --git a/process.c b/process.c
index 5fd08c3e61..c608721713 100644
--- a/process.c
+++ b/process.c
@@ -4808,13 +4808,13 @@ obj2gid(VALUE id
grptr = getgrnam(grpname);
#endif
if (!grptr) {
-#ifndef USE_GETGRNAM_R
+#if !defined(USE_GETGRNAM_R) && defined(HAVE_ENDGRENT)
endgrent();
#endif
rb_raise(rb_eArgError, "can't find group for %s", grpname);
}
gid = grptr->gr_gid;
-#ifndef USE_GETGRNAM_R
+#if !defined(USE_GETGRNAM_R) && defined(HAVE_ENDGRENT)
endgrent();
#endif
}