diff options
Diffstat (limited to 'lib/libc/stdlib/btowc.c')
| -rw-r--r-- | lib/libc/stdlib/btowc.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/lib/libc/stdlib/btowc.c b/lib/libc/stdlib/btowc.c new file mode 100644 index 00000000..f16865b7 --- /dev/null +++ b/lib/libc/stdlib/btowc.c @@ -0,0 +1,18 @@ +#include <wchar.h> +#include <stdio.h> +#include <stdlib.h> + +#define CODEUNIT(c) (0xdfff & (signed char)(c)) + +wint_t btowc(int c) +{ + if ((unsigned char)c < 128U) { + return c; + } + + if (MB_CUR_MAX == 1 && c != EOF) { + return CODEUNIT(c); + } + + return WEOF; +} |
