diff options
Diffstat (limited to 'winsup/mingw/mingwex/wctob.c')
-rwxr-xr-x | winsup/mingw/mingwex/wctob.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/winsup/mingw/mingwex/wctob.c b/winsup/mingw/mingwex/wctob.c new file mode 100755 index 000000000..2b40fc1d0 --- /dev/null +++ b/winsup/mingw/mingwex/wctob.c @@ -0,0 +1,21 @@ +#include "mb_wc_common.h" +#include <wchar.h> +#include <stdio.h> +#include <stdlib.h> +#include <errno.h> +#define WIN32_LEAN_AND_MEAN +#include <windows.h> + +/* Return just the first byte after translating to multibyte. */ +int wctob (wint_t wc ) +{ + wchar_t w = wc; + char c; + int invalid_char = 0; + if (!WideCharToMultiByte (get_cp_from_locale(), + 0 /* Is this correct flag? */, + &w, 1, &c, 1, NULL, &invalid_char) + || invalid_char) + return EOF; + return (int) c; +} |