From e2fd33db405e2d95b44b5b2d49140c8b36ecb65e Mon Sep 17 00:00:00 2001 From: Jeremy Soller <jackpot51@gmail.com> Date: Thu, 11 May 2023 11:26:55 -0600 Subject: [PATCH] Ensure wchar_t and wint_t definitions can coexist with GCC stddef.h --- include/bits/wchar.h | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/include/bits/wchar.h b/include/bits/wchar.h index 6eddf334..6838142e 100644 --- a/include/bits/wchar.h +++ b/include/bits/wchar.h @@ -1,19 +1,32 @@ #ifndef _BITS_WCHAR_H #define _BITS_WCHAR_H -// NULL, size_t +// int32_t, uint32_t, WCHAR_MIN, WCHAR_MAX +#include <stdint.h> + +#ifndef _WCHAR_T +#define _WCHAR_T + #ifndef __WCHAR_TYPE__ + #define __WCHAR_TYPE__ int32_t + #endif + typedef __WCHAR_TYPE__ wchar_t; +#endif // _WCHAR_T + +#ifndef _WINT_T +#define _WINT_T + #ifndef __WINT_TYPE__ + #define __WINT_TYPE__ uint32_t + #endif + typedef __WINT_TYPE__ wint_t; +#endif // _WINT_T + +// NULL, size_t, must come after wchar_t and wint_t #define __need_size_t #define __need_NULL #include <stddef.h> -// int32_t, uint32_t, WCHAR_MIN, WCHAR_MAX -#include <stdint.h> - #define WEOF (0xffffffffu) -typedef int32_t wchar_t; -typedef uint32_t wint_t; - int wprintf(const wchar_t * fmt, ...); int fwprintf(FILE * stream, const wchar_t * fmt, ...); int swprintf(wchar_t *s, size_t n, const wchar_t * fmt, ...); -- GitLab