22 lines
505 B
C
22 lines
505 B
C
|
#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;
|
||
|
}
|