newlib/winsup/mingw/mingwex/wctob.c
Danny Smith 6fbeb6a3f0 * mingwex/mbrtowc.c: New file.
* 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.
2005-04-24 11:30:27 +00:00

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;
}