diff options
-rw-r--r-- | winsup/cygwin/ChangeLog | 7 | ||||
-rw-r--r-- | winsup/cygwin/include/cygwin/stdlib.h | 5 |
2 files changed, 9 insertions, 3 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 6eb0d1d68..23357a123 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,10 @@ +2015-02-19 Jon TURNEY <jon.turney@dronecode.org.uk> + + * include/cygwin/stdlib.h (initstate, random, setstate, srandom): + Check if __XSI_VISIBLE is set by sys/cdefs.h, rather than testing + for _XOPEN_SOURCE directly, to work correctly when _GNU_SOURCE is + set. + 2015-02-19 Corinna Vinschen <corinna@vinschen.de> * sec_acl.cc (setacl): Always grant owner FILE_WRITE_ATTRIBUTES access. diff --git a/winsup/cygwin/include/cygwin/stdlib.h b/winsup/cygwin/include/cygwin/stdlib.h index 4d652fd5f..62792cf69 100644 --- a/winsup/cygwin/include/cygwin/stdlib.h +++ b/winsup/cygwin/include/cygwin/stdlib.h @@ -11,6 +11,7 @@ details. */ #ifndef _CYGWIN_STDLIB_H #define _CYGWIN_STDLIB_H +#include <sys/cdefs.h> #include <cygwin/wait.h> #ifdef __cplusplus @@ -31,9 +32,7 @@ void setprogname (const char *); char *canonicalize_file_name (const char *); int unsetenv (const char *); #endif /*__STRICT_ANSI__*/ -#if !defined(__STRICT_ANSI__) \ - || (defined(_XOPEN_SOURCE) \ - && ((_XOPEN_SOURCE - 0 >= 500) || defined(_XOPEN_SOURCE_EXTENDED))) +#if !defined(__STRICT_ANSI__) || (__XSI_VISIBLE >= 500) char *initstate (unsigned seed, char *state, size_t size); long random (void); char *setstate (const char *state); |