summaryrefslogtreecommitdiff
path: root/include/stdlib.h
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2012-05-22 21:52:08 -0400
committerRich Felker <dalias@aerifal.cx>2012-05-22 21:52:08 -0400
commit419ae6d5c95629d3ebaff6f1880d52cb027ba924 (patch)
tree9e38522b2d54cdaa3c282f3effb3daac06509edc /include/stdlib.h
parent7b5467cbae266d9cf91404a13c9b6b6e1d9b8204 (diff)
downloadmusl-419ae6d5c95629d3ebaff6f1880d52cb027ba924.tar.gz
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.
Diffstat (limited to 'include/stdlib.h')
-rw-r--r--include/stdlib.h22
1 files changed, 15 insertions, 7 deletions
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 <alloca.h>
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 *);