diff options
author | Joseph Myers <joseph@codesourcery.com> | 2016-05-17 15:47:20 +0000 |
---|---|---|
committer | Joseph Myers <joseph@codesourcery.com> | 2016-05-17 15:47:20 +0000 |
commit | 4242d9683fef6e618b80ec939adc37ff25cd2d79 (patch) | |
tree | 7f4758ea048ed8417be3da45f1e1ce02b307ab7c /posix/unistd.h | |
parent | b3a810d0d3d5c6ce7ddfb61321cd7971808ca703 (diff) | |
download | glibc-4242d9683fef6e618b80ec939adc37ff25cd2d79.tar glibc-4242d9683fef6e618b80ec939adc37ff25cd2d79.tar.gz glibc-4242d9683fef6e618b80ec939adc37ff25cd2d79.tar.bz2 glibc-4242d9683fef6e618b80ec939adc37ff25cd2d79.zip |
Correct ttyslot header declaration conditions (bug 20051).
UNIX98 and XPG4 have ttyslot in <stdlib.h>. glibc, however, has it in
<unistd.h>, for __USE_MISC || (__USE_XOPEN_EXTENDED && !__USE_UNIX98),
but no supported standard has it in <unistd.h>.
This patch adds a properly conditioned declaration to <stdlib.h> (only
enabled for the relevant standards, not for __USE_MISC or __USE_GNU).
The <unistd.h> declaration is restricted to __USE_MISC. Some relevant
XFAILs are removed.
Tested for x86_64 and x86 (testsuite, and that installed stripped
shared libraries are unchanged by the patch).
[BZ #20051]
* posix/unistd.h [__USE_XOPEN_EXTENDED && !__USE_UNIX98]
(ttyslot): Do not declare.
* stdlib/stdlib.h [__USE_XOPEN_EXTENDED && !__USE_XOPEN2K]
(ttyslot): New prototype.
* conform/Makefile (test-xfail-XPG4/unistd.h/conform): Remove
variable.
(test-xfail-UNIX98/stdlib.h/conform): Likewise.
Diffstat (limited to 'posix/unistd.h')
-rw-r--r-- | posix/unistd.h | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/posix/unistd.h b/posix/unistd.h index 98ffcea649..625ba77da7 100644 --- a/posix/unistd.h +++ b/posix/unistd.h @@ -781,8 +781,7 @@ extern int ttyname_r (int __fd, char *__buf, size_t __buflen) with a terminal, zero if not. */ extern int isatty (int __fd) __THROW; -#if defined __USE_MISC \ - || (defined __USE_XOPEN_EXTENDED && !defined __USE_UNIX98) +#ifdef __USE_MISC /* Return the index into the active-logins file (utmp) for the controlling terminal. */ extern int ttyslot (void) __THROW; |