From 419ae6d5c95629d3ebaff6f1880d52cb027ba924 Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Tue, 22 May 2012 21:52:08 -0400 Subject: support _BSD_SOURCE feature test macro patch by Isaac Dunham. matched closely (maybe not exact) to glibc's idea of what _BSD_SOURCE should make visible. --- include/stdlib.h | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) (limited to 'include/stdlib.h') diff --git a/include/stdlib.h b/include/stdlib.h index 11331d95..644325e6 100644 --- a/include/stdlib.h +++ b/include/stdlib.h @@ -78,7 +78,8 @@ size_t wcstombs (char *, const wchar_t *, size_t); #if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ - || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) + || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) \ + || defined(_BSD_SOURCE) #ifndef WEXITSTATUS #define WEXITSTATUS(s) (((s) & 0xff00) >> 8) @@ -102,20 +103,24 @@ int rand_r (unsigned *); #endif +#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) \ + || defined(_BSD_SOURCE) +char *realpath (const char *, char *); +long int random (void); +void srandom (unsigned int); +char *initstate (unsigned int, char *, size_t); +char *setstate (char *); +#endif + #if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) int putenv (char *); int posix_openpt (int); int grantpt (int); int unlockpt (int); char *ptsname (int); -char *realpath (const char *, char *); char *l64a (long); long a64l (const char *); void setkey (const char *); -long int random (void); -void srandom (unsigned int); -char *initstate (unsigned int, char *, size_t); -char *setstate (char *); double drand48 (void); double erand48 (unsigned short [3]); long int lrand48 (void); @@ -127,11 +132,14 @@ unsigned short *seed48 (unsigned short [3]); void lcong48 (unsigned short [7]); #endif -#if defined(_GNU_SOURCE) +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) #include char *mktemp (char *); void *valloc (size_t); void *memalign(size_t, size_t); +#endif + +#ifdef _GNU_SOURCE int clearenv(void); int ptsname_r(int, char *, size_t); char *ecvt(double, int, int *, int *); -- cgit v1.2.1