unistd.h declares gethostname for __USE_UNIX98 || __USE_XOPEN2K. But
it's also in XPG4 (XNS volume - C438 - not the main definitions of
system interfaces and headers in C435). This patch corrects the
condition.
Tested for x86_64 and x86 (testsuite, and that installed stripped
shared libraries are unchanged by the patch).
[BZ #20054]
* posix/unistd.h (gethostname): Declare if [__USE_XOPEN_EXTENDED],
not [__USE_UNIX98].
* conform/data/unistd.h-data (gethostname): Do not expect for
[XPG3].
2016-05-12 Joseph Myers <joseph@codesourcery.com>
+ [BZ #20054]
+ * posix/unistd.h (gethostname): Declare if [__USE_XOPEN_EXTENDED],
+ not [__USE_UNIX98].
+ * conform/data/unistd.h-data (gethostname): Do not expect for
+ [XPG3].
+
* conform/data/fcntl.h-data [!POSIX] (S_IFMT): Do not expect.
[!POSIX] (S_IFBLK): Likewise.
[!POSIX] (S_IFCHR): Likewise.
#if !defined POSIX && !defined POSIX2008
function long gethostid (void)
#endif
-#if !defined POSIX
+#if !defined POSIX && !defined XPG3
function int gethostname (char*, size_t)
#endif
function {char*} getlogin (void)
#endif
-#if defined __USE_UNIX98 || defined __USE_XOPEN2K
+#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K
/* Put the name of the current host in no more than LEN bytes of NAME.
The result is null-terminated if LEN is large enough for the full
name and the terminator. */