diff options
author | Joseph Myers <joseph@codesourcery.com> | 2015-06-12 22:29:19 +0000 |
---|---|---|
committer | Joseph Myers <joseph@codesourcery.com> | 2015-06-12 22:29:19 +0000 |
commit | b400fdefc71ccc2a118ddfa78d3658d3ea3af7a2 (patch) | |
tree | a8f19ac208dab64cb6cd49cc5bfab5cc84681925 /grp | |
parent | 5371d99e8766f25864ddf20fb0866e57fc0b7991 (diff) | |
download | glibc-b400fdefc71ccc2a118ddfa78d3658d3ea3af7a2.zip glibc-b400fdefc71ccc2a118ddfa78d3658d3ea3af7a2.tar.gz glibc-b400fdefc71ccc2a118ddfa78d3658d3ea3af7a2.tar.bz2 |
Fix grp.h endgrent, getgrent namespace (bug 18528).
grp.h declares endgrent and getgrent if __USE_XOPEN2K8 (i.e. 2008
edition of POSIX, non-XSI). However, the 2013 Technical Corrigendum
corrected the grp.h specification to XSI-shade these functions as in
previous editions (see <http://austingroupbugs.net/view.php?id=24>),
so they should not be declared for non-XSI POSIX. This patch corrects
the conditions - using __USE_MISC || __USE_XOPEN_EXTENDED to match
setgrent - and the conform/ test expectations for this header, thereby
fixing the conform tests for this header for XPG3 (where the
expectations were wrong) and the linknamespace tests for it for
POSIX2008 (where the header bug meant it was wrongly considered a
problem for endgrent to bring in a reference to setgrent).
Tested for x86_64 and x86 (testsuite, and that installed stripped
shared libraries are unchanged by the patch).
[BZ #18528]
* grp/grp.h (endgrent): Condition on [__USE_MISC ||
__USE_XOPEN_EXTENDED], not [__USE_XOPEN_EXTENDED ||
__USE_XOPEN2K8].
(getgrent): Likewise.
* conform/data/grp.h-data [XPG3 || POSIX2008] (getgrent): Do not
expect.
[XPG3 || POSIX2008] (endgrent): Likewise.
[XPG3] (setgrent): Likewise.
* conform/Makefile (test-xfail-XPG3/grp.h/conform): Remove
variable.
(test-xfail-POSIX2008/grp.h/linknamespace): Likewise.
Diffstat (limited to 'grp')
-rw-r--r-- | grp/grp.h | 2 |
1 files changed, 0 insertions, 2 deletions
@@ -60,9 +60,7 @@ struct group This function is a possible cancellation point and therefore not marked with __THROW. */ extern void setgrent (void); -#endif -#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8 /* Close the group-file stream. This function is a possible cancellation point and therefore not |