6fbeb6a3f0
* mingwex/wcrtomb.c: New file. * mingwex/btowc.c: New file. * mingwex/wctob.c: New file. * mingwex/mb_wc_common.h: New file. * mingwex/Makefile.in (DISTFILES): Add new files. (Q8_OBJS): Add new objects. * include/wchar.h: Adjust comment about mbrtowc() and related funcions. Add __restrict__ to pointer params in prototypes. (wmemset. wmemchr, wmemcpy, wmemmove, wcstoll, wcstoull): Remove arg names from protototypes.
22 lines
505 B
C
Executable File
22 lines
505 B
C
Executable File
#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;
|
|
}
|