From c6bb8beb5294ce1162ea0f088707a9fe167449a7 Mon Sep 17 00:00:00 2001 From: kosaki Date: Sun, 6 Mar 2011 15:25:58 +0000 Subject: * process.c (proc_getgroups): get rid of maxgroups dependency. ngroups can be calculated dynamically. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31037 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- process.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'process.c') diff --git a/process.c b/process.c index 51f3804f63..25ad168068 100644 --- a/process.c +++ b/process.c @@ -4563,9 +4563,13 @@ proc_getgroups(VALUE obj) int i, ngroups; rb_gid_t *groups; - groups = ALLOCA_N(rb_gid_t, maxgroups); + ngroups = getgroups(0, NULL); + if (ngroups == -1) + rb_sys_fail(0); + + groups = ALLOCA_N(rb_gid_t, ngroups); - ngroups = getgroups(maxgroups, groups); + ngroups = getgroups(ngroups, groups); if (ngroups == -1) rb_sys_fail(0); -- cgit v1.2.3