X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=include%2Fstdlib.h;h=97ce5a72852fe72facf3ac3279609872f4875a60;hb=4b2cb37770e56835b261660535cea77474154ba0;hp=0bcc9f4f91abda83e719374cb31214ab1540c5da;hpb=2cc63358cdb0309ca996ffe56ccf402c2f2f16d5;p=musl diff --git a/include/stdlib.h b/include/stdlib.h index 0bcc9f4f..97ce5a72 100644 --- a/include/stdlib.h +++ b/include/stdlib.h @@ -7,7 +7,11 @@ extern "C" { #include +#ifdef __cplusplus #define NULL 0L +#else +#define NULL ((void*)0) +#endif #define __NEED_size_t #define __NEED_wchar_t @@ -88,8 +92,8 @@ size_t wcstombs (char *__restrict, const wchar_t *__restrict, size_t); #define WTERMSIG(s) ((s) & 0x7f) #define WSTOPSIG(s) WEXITSTATUS(s) #define WIFEXITED(s) (!WTERMSIG(s)) -#define WIFSTOPPED(s) (((s) & 0xff) == 0x7f) -#define WIFSIGNALED(s) (((signed char) (((s) & 0x7f) + 1) >> 1) > 0) +#define WIFSTOPPED(s) ((short)((((s)&0xffff)*0x10001)>>8) > 0x7f00) +#define WIFSIGNALED(s) (((s)&0xffff)-1U < 0xffu) int posix_memalign (void **, size_t, size_t); int setenv (const char *, const char *, int); @@ -110,9 +114,6 @@ 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); @@ -139,16 +140,21 @@ int mkstemps (char *, int); int mkostemps (char *, int, int); void *valloc (size_t); void *memalign(size_t, size_t); +int getloadavg(double *, int); +int clearenv(void); #define WCOREDUMP(s) ((s) & 0x80) #define WIFCONTINUED(s) ((s) == 0xffff) #endif #ifdef _GNU_SOURCE -int clearenv(void); int ptsname_r(int, char *, size_t); char *ecvt(double, int, int *, int *); char *fcvt(double, int, int *, int *); char *gcvt(double, int, char *); +struct __locale_struct; +float strtof_l(const char *__restrict, char **__restrict, struct __locale_struct *); +double strtod_l(const char *__restrict, char **__restrict, struct __locale_struct *); +long double strtold_l(const char *__restrict, char **__restrict, struct __locale_struct *); #endif #if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE)