4
0
mirror of git://sourceware.org/git/newlib-cygwin.git synced 2025-01-18 12:29:32 +08:00

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>
This commit is contained in:
Yaakov Selkowitz 2016-05-20 16:55:50 -05:00
parent 4e434bf223
commit 95644157c1
2 changed files with 13 additions and 3 deletions

View File

@ -164,6 +164,12 @@ typedef _fpos64_t fpos64_t;
#endif #endif
#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)); FILE * _EXFUN(tmpfile, (void));
char * _EXFUN(tmpnam, (char *)); char * _EXFUN(tmpnam, (char *));
#if __BSD_VISIBLE || __XSI_VISIBLE || __POSIX_VISIBLE >= 200112 #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)) __swbuf_r(_REENT, (int)(x), p) == EOF : (*(p)->_p = (x), (p)->_p++, 0))
#endif #endif
#if __XSI_VISIBLE #if __GNU_VISIBLE || (__XSI_VISIBLE && __XSI_VISIBLE < 600)
#define L_cuserid 9 /* posix says it goes in stdio.h :( */ #define L_cuserid 9 /* posix says it goes in stdio.h :( */
#ifdef __CYGWIN__
#define L_ctermid 16
#endif #endif
#if __POSIX_VISIBLE
#define L_ctermid 16
#endif #endif
#endif /* !__CUSTOM_FILE_IO__ */ #endif /* !__CUSTOM_FILE_IO__ */

View File

@ -31,8 +31,12 @@ int _EXFUN(close, (int __fildes ));
#if __POSIX_VISIBLE >= 199209 #if __POSIX_VISIBLE >= 199209
size_t _EXFUN(confstr, (int __name, char *__buf, size_t __len)); size_t _EXFUN(confstr, (int __name, char *__buf, size_t __len));
#endif #endif
#if __XSI_VISIBLE && __XSI_VISIBLE < 700
char * _EXFUN(ctermid, (char *__s )); char * _EXFUN(ctermid, (char *__s ));
#endif
#if __XSI_VISIBLE && __XSI_VISIBLE < 600
char * _EXFUN(cuserid, (char *__s )); char * _EXFUN(cuserid, (char *__s ));
#endif
#if __BSD_VISIBLE || (__XSI_VISIBLE && __XSI_VISIBLE < 500) #if __BSD_VISIBLE || (__XSI_VISIBLE && __XSI_VISIBLE < 500)
int _EXFUN(daemon, (int nochdir, int noclose)); int _EXFUN(daemon, (int nochdir, int noclose));
#endif #endif