diff --git a/src/multibyte/btowc.c b/src/multibyte/btowc.c index 29cb798..a7369a1 100644 --- a/src/multibyte/btowc.c +++ b/src/multibyte/btowc.c @@ -1,8 +1,11 @@ #include #include +#include +#include "internal.h" wint_t btowc(int c) { - c = (unsigned char)c; - return c<128U ? c : EOF; + if ((unsigned char)c < 128) return (unsigned char)c; + if (MB_CUR_MAX==1 && c!=EOF) return CODEUNIT(c); + return WEOF; }