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