summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--payloads/libpayload/curses/curses.h10
-rw-r--r--payloads/libpayload/include/stddef.h7
-rw-r--r--payloads/libpayload/include/wchar.h11
3 files changed, 22 insertions, 6 deletions
diff --git a/payloads/libpayload/curses/curses.h b/payloads/libpayload/curses/curses.h
index b802adb3f4..96fa9ac846 100644
--- a/payloads/libpayload/curses/curses.h
+++ b/payloads/libpayload/curses/curses.h
@@ -154,9 +154,9 @@ typedef unsigned long mmask_t;
//// #define va_list int // FIXME
#define _XOPEN_SOURCE_EXTENDED 1 // XXX
-//// #ifdef _XOPEN_SOURCE_EXTENDED
-//// #include <stddef.h> /* we want wchar_t */
-//// #endif /* _XOPEN_SOURCE_EXTENDED */
+#ifdef _XOPEN_SOURCE_EXTENDED
+#include <stddef.h> /* we want wchar_t */
+#endif /* _XOPEN_SOURCE_EXTENDED */
/* XSI and SVr4 specify that curses implements 'bool'. However, C++ may also
* implement it. If so, we must use the C++ compiler's type to avoid conflict
@@ -350,9 +350,7 @@ typedef chtype attr_t; /* ...must be at least as wide as chtype */
#endif
#if 1
-//// #include <wchar.h> /* ...to get mbstate_t, etc. */
-typedef unsigned long wchar_t; // XXX
-typedef unsigned long wint_t; // XXX
+#include <wchar.h> /* ...to get mbstate_t, etc. */
#endif
#if 0
diff --git a/payloads/libpayload/include/stddef.h b/payloads/libpayload/include/stddef.h
index 18c22f02a8..e1273454c2 100644
--- a/payloads/libpayload/include/stddef.h
+++ b/payloads/libpayload/include/stddef.h
@@ -3,6 +3,13 @@
#include <arch/types.h>
+#ifndef __WCHAR_TYPE__
+#define __WCHAR_TYPE__ int
+#endif
+#ifndef __cplusplus
+typedef __WCHAR_TYPE__ wchar_t;
+#endif
+
#ifndef __SIZE_TYPE__
#define __SIZE_TYPE__ unsigned long
#endif
diff --git a/payloads/libpayload/include/wchar.h b/payloads/libpayload/include/wchar.h
new file mode 100644
index 0000000000..9c79b892a3
--- /dev/null
+++ b/payloads/libpayload/include/wchar.h
@@ -0,0 +1,11 @@
+#ifndef _WCHAR_H
+#define _WCHAR_H
+
+#include <stddef.h>
+
+#ifndef __WINT_TYPE__
+# define __WINT_TYPE__ unsigned int
+#endif
+typedef __WINT_TYPE__ wint_t;
+
+#endif