diff --git a/include/bits/wchar.h b/include/bits/wchar.h index b5f910ebd2be62dd53894b1fd345b44c4188abe0..6eddf334de3e905371863299d1bc5260bed35a16 100644 --- a/include/bits/wchar.h +++ b/include/bits/wchar.h @@ -1,17 +1,19 @@ #ifndef _BITS_WCHAR_H #define _BITS_WCHAR_H -#define WEOF (0xffffffffu) -#define WCHAR_MIN (0) -#define WCHAR_MAX (0x7fffffff) - +// NULL, size_t #define __need_size_t -#define __need_wchar_t -#define __need_wint_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, ...); diff --git a/include/bits/wctype.h b/include/bits/wctype.h deleted file mode 100644 index 26315b449a50eb0feec9a317ef9857182c4c977f..0000000000000000000000000000000000000000 --- a/include/bits/wctype.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef _BITS_WCTYPE_H -#define _BITS_WCTYPE_H - -#define __need_wint_t - -#include <stdint.h> - -#endif /* _BITS_WCTYPE_H */ diff --git a/include/stddef.h b/include/stddef.h index b3973d4a75c36ad7c55ac41970f354b23a10ebc0..334267f4578a9db87422eb475a5b588e58d05a3e 100644 --- a/include/stddef.h +++ b/include/stddef.h @@ -9,12 +9,6 @@ #endif typedef __PTRDIFF_TYPE__ ptrdiff_t; -#ifndef __cplusplus -typedef int32_t wchar_t; -#endif /* #ifndef __cplusplus */ -typedef uint32_t wint_t; - - typedef long unsigned int size_t; typedef struct { long long __ll; long double __ld; } max_align_t; diff --git a/src/c/wchar.c b/src/c/wchar.c index ada9ae70d7a878d716ebbaeb1d0c40ef783866e7..09956c4be7f7cfd090e197b7fbf6f113c3d15b27 100644 --- a/src/c/wchar.c +++ b/src/c/wchar.c @@ -3,6 +3,8 @@ typedef struct FILE FILE; +#include <bits/wchar.h> + int vwprintf(const wchar_t * fmt, va_list ap); int wprintf(const wchar_t * fmt, ...) { diff --git a/src/header/stdlib/cbindgen.toml b/src/header/stdlib/cbindgen.toml index c6db0e6c66c848b9f546b7d9c5f7a6a8aca437c2..6de6a6fa4b7ccb13f47ae581ffe204530a23e2e0 100644 --- a/src/header/stdlib/cbindgen.toml +++ b/src/header/stdlib/cbindgen.toml @@ -1,4 +1,4 @@ -sys_includes = ["stddef.h", "alloca.h"] +sys_includes = ["stddef.h", "alloca.h", "wchar.h"] include_guard = "_RELIBC_STDLIB_H" trailer = "#include <bits/stdlib.h>" language = "C" diff --git a/src/header/wchar/cbindgen.toml b/src/header/wchar/cbindgen.toml index dd2fd8e441339fac4c49cb21d974adb91defdad1..08dbb389887d66960190a48b236e052e89a05da0 100644 --- a/src/header/wchar/cbindgen.toml +++ b/src/header/wchar/cbindgen.toml @@ -1,6 +1,5 @@ -sys_includes = ["stddef.h", "stdint.h", "time.h", "stdio.h" ] +sys_includes = ["stddef.h", "stdint.h", "stdio.h", "time.h", "bits/wchar.h"] include_guard = "_RELIBC_WCHAR_H" -trailer = "#include <bits/wchar.h>" language = "C" style = "Type" no_includes = true diff --git a/src/header/wctype/cbindgen.toml b/src/header/wctype/cbindgen.toml index 58fb8271bd09523da7f454356fa232c97a8b097b..bd9cdd85a4c7963c33194b2bef20a9b69b32bbbd 100644 --- a/src/header/wctype/cbindgen.toml +++ b/src/header/wctype/cbindgen.toml @@ -1,6 +1,5 @@ sys_includes = ["wchar.h" ] include_guard = "_RELIBC_WCTYPE_H" -header = "#include <bits/wctype.h>" language = "C" style = "Type" no_includes = true