diff options
author | Yaakov Selkowitz <yselkowi@redhat.com> | 2016-05-20 16:55:50 -0500 |
---|---|---|
committer | Yaakov Selkowitz <yselkowi@redhat.com> | 2016-05-23 11:20:29 -0500 |
commit | 95644157c14fa0b43debe9e9cdef03a10a2d802d (patch) | |
tree | b114f8a78bfcd99f3a3842b070beec3a68566cc2 | |
parent | 4e434bf223c301cd2690a3fe1cde2a84c0d5b624 (diff) | |
download | newlib-95644157c14fa0b43debe9e9cdef03a10a2d802d.zip newlib-95644157c14fa0b43debe9e9cdef03a10a2d802d.tar.gz newlib-95644157c14fa0b43debe9e9cdef03a10a2d802d.tar.bz2 |
Feature test macros: ctermid, cuserid
The proper location for these functions has always been <stdio.h>, however
XPG4 and SUSv2 did mandate a duplicate declaration in <unistd.h>. cuserid
was dropped in SUSv3 (it was marked legacy since XPG4) and the ctermid
declaration in <unistd.h> was made optional and obsolete in SUSv4.
Fixes: https://cygwin.com/ml/cygwin/2016-05/msg00002.html
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
-rw-r--r-- | newlib/libc/include/stdio.h | 12 | ||||
-rw-r--r-- | newlib/libc/include/sys/unistd.h | 4 |
2 files changed, 13 insertions, 3 deletions
diff --git a/newlib/libc/include/stdio.h b/newlib/libc/include/stdio.h index 9ab5d32..866d816 100644 --- a/newlib/libc/include/stdio.h +++ b/newlib/libc/include/stdio.h @@ -164,6 +164,12 @@ typedef _fpos64_t fpos64_t; #endif #endif +#if __POSIX_VISIBLE +char * _EXFUN(ctermid, (char *)); +#endif +#if __XSI_VISIBLE && __XSI_VISIBLE < 600 +char * _EXFUN(cuserid, (char *)); +#endif FILE * _EXFUN(tmpfile, (void)); char * _EXFUN(tmpnam, (char *)); #if __BSD_VISIBLE || __XSI_VISIBLE || __POSIX_VISIBLE >= 200112 @@ -728,11 +734,11 @@ _ELIDABLE_INLINE int __sputc_r(struct _reent *_ptr, int _c, FILE *_p) { __swbuf_r(_REENT, (int)(x), p) == EOF : (*(p)->_p = (x), (p)->_p++, 0)) #endif -#if __XSI_VISIBLE +#if __GNU_VISIBLE || (__XSI_VISIBLE && __XSI_VISIBLE < 600) #define L_cuserid 9 /* posix says it goes in stdio.h :( */ -#ifdef __CYGWIN__ -#define L_ctermid 16 #endif +#if __POSIX_VISIBLE +#define L_ctermid 16 #endif #endif /* !__CUSTOM_FILE_IO__ */ diff --git a/newlib/libc/include/sys/unistd.h b/newlib/libc/include/sys/unistd.h index c8299bb..ef00575 100644 --- a/newlib/libc/include/sys/unistd.h +++ b/newlib/libc/include/sys/unistd.h @@ -31,8 +31,12 @@ int _EXFUN(close, (int __fildes )); #if __POSIX_VISIBLE >= 199209 size_t _EXFUN(confstr, (int __name, char *__buf, size_t __len)); #endif +#if __XSI_VISIBLE && __XSI_VISIBLE < 700 char * _EXFUN(ctermid, (char *__s )); +#endif +#if __XSI_VISIBLE && __XSI_VISIBLE < 600 char * _EXFUN(cuserid, (char *__s )); +#endif #if __BSD_VISIBLE || (__XSI_VISIBLE && __XSI_VISIBLE < 500) int _EXFUN(daemon, (int nochdir, int noclose)); #endif |