summaryrefslogtreecommitdiff
path: root/payloads/libpayload
diff options
context:
space:
mode:
authorNico Huber <nico.huber@secunet.com>2021-06-16 17:46:17 +0000
committerWerner Zeh <werner.zeh@siemens.com>2021-06-18 04:38:16 +0000
commit2eae410c5458b05c3f6ead9db55270f4813659aa (patch)
tree242a2eea70d9d6c54d81073f2bfe7f9888dd7194 /payloads/libpayload
parent0a31d5e7f57e4dfafa86034a74ec9e59c896086f (diff)
includes: Provide `wchar.h` with `wchar_t` and `wint_t`
Change-Id: Iacb0e4eaf3f0b6bf843f3bfda5bdfde0f7a98808 Signed-off-by: Nico Huber <nico.huber@secunet.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/55590 Reviewed-by: Angel Pons <th3fanbus@gmail.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'payloads/libpayload')
-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