<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/lib/libc/sys/getgroups.2, branch release/11.1.0</title>
<subtitle>FreeBSD source tree</subtitle>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/'/>
<entry>
<title>getgroups(2): Remove mention of &lt;sys/param.h&gt; and refer to sysconf(3).</title>
<updated>2011-01-21T22:15:17+00:00</updated>
<author>
<name>Jilles Tjoelker</name>
<email>jilles@FreeBSD.org</email>
</author>
<published>2011-01-21T22:15:17+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=198c89c3064c9d12b761e2b76b0e8489d6073d4e'/>
<id>198c89c3064c9d12b761e2b76b0e8489d6073d4e</id>
<content type='text'>
Because {NGROUPS_MAX} may become variable, its value should be obtained
using sysconf(3). If a #define is used anyway, it should be obtained by
including &lt;limits.h&gt; as that is in POSIX like getgroups(2) itself is.
&lt;sys/param.h&gt; is not in POSIX.

MFC after:	1 week
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Because {NGROUPS_MAX} may become variable, its value should be obtained
using sysconf(3). If a #define is used anyway, it should be obtained by
including &lt;limits.h&gt; as that is in POSIX like getgroups(2) itself is.
&lt;sys/param.h&gt; is not in POSIX.

MFC after:	1 week
</pre>
</div>
</content>
</entry>
<entry>
<title>Just like in case of setgroups(2), for getgroups(2) also advice including</title>
<updated>2010-06-26T21:44:05+00:00</updated>
<author>
<name>Pawel Jakub Dawidek</name>
<email>pjd@FreeBSD.org</email>
</author>
<published>2010-06-26T21:44:05+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=da6ee3126b36a73abdf2099f507939668aa09dd8'/>
<id>da6ee3126b36a73abdf2099f507939668aa09dd8</id>
<content type='text'>
sys/param.h instead of sys/types.h so we get NGROUPS_MAX and NGROUPS
definitions.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
sys/param.h instead of sys/types.h so we get NGROUPS_MAX and NGROUPS
definitions.
</pre>
</div>
</content>
</entry>
<entry>
<title>In preparation for raising NGROUPS and NGROUPS_MAX, change base</title>
<updated>2009-06-19T15:58:24+00:00</updated>
<author>
<name>Brooks Davis</name>
<email>brooks@FreeBSD.org</email>
</author>
<published>2009-06-19T15:58:24+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=54404cfb13d40e474f72d3c75de1f4db3417df64'/>
<id>54404cfb13d40e474f72d3c75de1f4db3417df64</id>
<content type='text'>
system callers of getgroups(), getgrouplist(), and setgroups() to
allocate buffers dynamically.  Specifically, allocate a buffer of size
sysconf(_SC_NGROUPS_MAX)+1 (+2 in a few cases to allow for overflow).

This (or similar gymnastics) is required for the code to actually follow
the POSIX.1-2008 specification where {NGROUPS_MAX} may differ at runtime
and where getgroups may return {NGROUPS_MAX}+1 results on systems like
FreeBSD which include the primary group.

In id(1), don't pointlessly add the primary group to the list of all
groups, it is always the first result from getgroups().  In principle
the old code was more portable, but this was only done in one of the two
places where getgroups() was called to the overall effect was pointless.

Document the actual POSIX requirements in the getgroups(2) and
setgroups(2) manpages.  We do not yet support a dynamic NGROUPS, but we
may in the future.

MFC after:	2 weeks
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
system callers of getgroups(), getgrouplist(), and setgroups() to
allocate buffers dynamically.  Specifically, allocate a buffer of size
sysconf(_SC_NGROUPS_MAX)+1 (+2 in a few cases to allow for overflow).

This (or similar gymnastics) is required for the code to actually follow
the POSIX.1-2008 specification where {NGROUPS_MAX} may differ at runtime
and where getgroups may return {NGROUPS_MAX}+1 results on systems like
FreeBSD which include the primary group.

In id(1), don't pointlessly add the primary group to the list of all
groups, it is always the first result from getgroups().  In principle
the old code was more portable, but this was only done in one of the two
places where getgroups() was called to the overall effect was pointless.

Document the actual POSIX requirements in the getgroups(2) and
setgroups(2) manpages.  We do not yet support a dynamic NGROUPS, but we
may in the future.

MFC after:	2 weeks
</pre>
</div>
</content>
</entry>
<entry>
<title>Per Regents of the University of Calfornia letter, remove advertising</title>
<updated>2007-01-09T00:28:16+00:00</updated>
<author>
<name>Warner Losh</name>
<email>imp@FreeBSD.org</email>
</author>
<published>2007-01-09T00:28:16+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=c879ae3536e6d92b8d96c8965c5b05fcb9541520'/>
<id>c879ae3536e6d92b8d96c8965c5b05fcb9541520</id>
<content type='text'>
clause.

# If I've done so improperly on a file, please let me know.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
clause.

# If I've done so improperly on a file, please let me know.
</pre>
</div>
</content>
</entry>
<entry>
<title>mdoc(7) police: "The .Fa argument.".</title>
<updated>2002-12-19T09:40:28+00:00</updated>
<author>
<name>Ruslan Ermilov</name>
<email>ru@FreeBSD.org</email>
</author>
<published>2002-12-19T09:40:28+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=2efeeba554cbd7bdee9cfe17641c8bd335c7972f'/>
<id>2efeeba554cbd7bdee9cfe17641c8bd335c7972f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>mdoc(7) police: Tidy up the syscall language.</title>
<updated>2002-12-18T09:22:32+00:00</updated>
<author>
<name>Ruslan Ermilov</name>
<email>ru@FreeBSD.org</email>
</author>
<published>2002-12-18T09:22:32+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=2faeeff4c9bb77cca44a977d96c1a9fc7af8d8a3'/>
<id>2faeeff4c9bb77cca44a977d96c1a9fc7af8d8a3</id>
<content type='text'>
Stop calling system calls "function calls".

Use "The .Fn system call" a-la "The .Nm utility".

When referring to a non-BSD implementation in
the HISTORY section, call syscall a function,
to be safe.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Stop calling system calls "function calls".

Use "The .Fn system call" a-la "The .Nm utility".

When referring to a non-BSD implementation in
the HISTORY section, call syscall a function,
to be safe.
</pre>
</div>
</content>
</entry>
<entry>
<title>mdoc(7) police: Use the new .In macro for #include statements.</title>
<updated>2001-10-01T16:09:29+00:00</updated>
<author>
<name>Ruslan Ermilov</name>
<email>ru@FreeBSD.org</email>
</author>
<published>2001-10-01T16:09:29+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=32eef9aeb1f39a1623cea55da147c89abbd5b9a5'/>
<id>32eef9aeb1f39a1623cea55da147c89abbd5b9a5</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove whitespace at EOL.</title>
<updated>2001-07-15T07:53:42+00:00</updated>
<author>
<name>Dima Dorfman</name>
<email>dd@FreeBSD.org</email>
</author>
<published>2001-07-15T07:53:42+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=7ebcc426efefea9cd16ac6f565e72030c608f7a4'/>
<id>7ebcc426efefea9cd16ac6f565e72030c608f7a4</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>mdoc(7) police: removed HISTORY info from the .Os call.</title>
<updated>2001-07-10T13:41:46+00:00</updated>
<author>
<name>Ruslan Ermilov</name>
<email>ru@FreeBSD.org</email>
</author>
<published>2001-07-10T13:41:46+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=a307d598387eeb7d775332066d996ab0dadf7e5f'/>
<id>a307d598387eeb7d775332066d996ab0dadf7e5f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Introduce ".Lb" macro to libc manpages.</title>
<updated>2000-04-21T09:42:15+00:00</updated>
<author>
<name>Alexey Zelkin</name>
<email>phantom@FreeBSD.org</email>
</author>
<published>2000-04-21T09:42:15+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=25bb73e063c17cd9048cf60100dbc0ac5177e94a'/>
<id>25bb73e063c17cd9048cf60100dbc0ac5177e94a</id>
<content type='text'>
More libraries manpages updates following.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
More libraries manpages updates following.
</pre>
</div>
</content>
</entry>
</feed>
