size_t mbstowcs (wchar_t *, const char *, size_t);
size_t wcstombs (char *, const wchar_t *, size_t);
-#define MB_CUR_MAX 4
+#define EXIT_FAILURE 1
+#define EXIT_SUCCESS 0
+
+#define MB_CUR_MAX ((size_t)+4)
#define RAND_MAX (0x7fffffff)
|| defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE)
#ifndef WEXITSTATUS
-#include <bits/wexitstatus.h>
+#define WEXITSTATUS(s) (((s) & 0xff00) >> 8)
+#define WTERMSIG(s) ((s) & 0x7f)
+#define WSTOPSIG(s) WEXITSTATUS(s)
+#define WCOREDUMP(s) ((s) & 0x80)
+#define WIFEXITED(s) (!WTERMSIG(s))
+#define WIFSTOPPED(s) (((s) & 0xff) == 0x7f)
+#define WIFSIGNALED(s) (((signed char) (((s) & 0x7f) + 1) >> 1) > 0)
+#define WIFCONTINUED(s) ((s) == 0xffff)
#endif
-#define EXIT_FAILURE 1
-#define EXIT_SUCCESS 0
-
int posix_memalign (void **, size_t, size_t);
int setenv (const char *, const char *, int);
int unsetenv (const char *);
#endif
#if defined(_GNU_SOURCE)
+void *alloca(size_t);
char *mktemp (char *);
void *valloc (size_t);
void *memalign(size_t, size_t);
+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 *);
#endif