Patch is ok. Thanks, Kai
2013/7/2 Rafaël Carré <fun...@videolan.org>: > based on a patch by Jacek > --- > mingw-w64-crt/Makefile.am | 6 ++++-- > mingw-w64-crt/lib32/msvcrt.def.in | 2 +- > mingw-w64-crt/misc/btowc.c | 2 +- > mingw-w64-crt/misc/lc_locale_func.c | 8 ++++---- > mingw-w64-crt/misc/mb_wc_common.h | 2 +- > mingw-w64-crt/misc/mbrtowc.c | 6 +++--- > mingw-w64-crt/misc/wcrtomb.c | 4 ++-- > mingw-w64-crt/misc/wcstof.c | 2 +- > mingw-w64-crt/misc/wcstold.c | 2 +- > mingw-w64-crt/misc/wctob.c | 2 +- > 10 files changed, 19 insertions(+), 17 deletions(-) > > diff --git a/mingw-w64-crt/Makefile.am b/mingw-w64-crt/Makefile.am > index d9cd436..82b478f 100644 > --- a/mingw-w64-crt/Makefile.am > +++ b/mingw-w64-crt/Makefile.am > @@ -119,7 +119,6 @@ src_libws2_32=libsrc/ws2_32.c \ > > src_msvcrt=\ > misc/invalid_parameter_handler.c \ > - misc/lc_locale_func.c \ > misc/output_format.c \ > secapi/_access_s.c \ > secapi/_cgets_s.c \ > @@ -156,6 +155,9 @@ src_msvcrt=\ > secapi/vsprintf_s.c \ > secapi/wmemcpy_s.c > > +src_msvcrt32= > + $(src_msvcrt) \ > + misc/lc_locale_func.c > > src_libmingwex=\ > crt/dllentry.c crt/dllmain.c \ > @@ -343,7 +345,7 @@ lib32_libkernel32_a_AR = $(DTLIB32) && $(AR) $(ARFLAGS) > lib32_libkernel32_a_CPPFLAGS=$(CPPFLAGS32) $(extra_include) $(AM_CPPFLAGS) > > lib32_LIBRARIES += lib32/libmsvcrt.a > -lib32_libmsvcrt_a_SOURCES = $(src_msvcrt) lib32/msvcrt.def.in > +lib32_libmsvcrt_a_SOURCES = $(src_msvcrt32) lib32/msvcrt.def.in > lib32_libmsvcrt_a_AR = $(DTDEF32) lib32/msvcrt.def && $(AR) $(ARFLAGS) > lib32_libmsvcrt_a_CPPFLAGS=$(CPPFLAGS32) -D__LIBMSVCRT__ $(extra_include) > $(sysincludes) > EXTRA_lib32_libmsvcrt_a_DEPENDENCIES=lib32/msvcrt.def > diff --git a/mingw-w64-crt/lib32/msvcrt.def.in > b/mingw-w64-crt/lib32/msvcrt.def.in > index ff352f1..ad8ec29 100644 > --- a/mingw-w64-crt/lib32/msvcrt.def.in > +++ b/mingw-w64-crt/lib32/msvcrt.def.in > @@ -797,7 +797,7 @@ _wcstoi64 > _wcstoui64 > _wctype > _wtof > -___lc_codepage_func > +___lc_codepage_func DATA ; provided by emu > ___lc_collate_cp_func > ___lc_handle_func > ___mb_cur_max_func > diff --git a/mingw-w64-crt/misc/btowc.c b/mingw-w64-crt/misc/btowc.c > index aaabc0c..026b491 100644 > --- a/mingw-w64-crt/misc/btowc.c > +++ b/mingw-w64-crt/misc/btowc.c > @@ -19,7 +19,7 @@ wint_t btowc (int c) > { > unsigned char ch = c; > wchar_t wc = WEOF; > - MultiByteToWideChar (__lc_codepage_func(), MB_ERR_INVALID_CHARS, > + MultiByteToWideChar (___lc_codepage_func(), MB_ERR_INVALID_CHARS, > (char*)&ch, 1, &wc, 1); > return wc; > } > diff --git a/mingw-w64-crt/misc/lc_locale_func.c > b/mingw-w64-crt/misc/lc_locale_func.c > index 4e0fd02..3aebcdc 100644 > --- a/mingw-w64-crt/misc/lc_locale_func.c > +++ b/mingw-w64-crt/misc/lc_locale_func.c > @@ -6,7 +6,7 @@ > #include "mb_wc_common.h" > > static unsigned int *msvcrt__lc_codepage; > -static unsigned int __cdecl msvcrt__lc_codepage_func(void) > +static unsigned int __cdecl msvcrt___lc_codepage_func(void) > { > return *msvcrt__lc_codepage; > } > @@ -19,7 +19,7 @@ static unsigned int __cdecl setlocale_codepage_hack(void) > } > > static unsigned int __cdecl init_codepage_func(void); > -unsigned int (__cdecl *__MINGW_IMP_SYMBOL(__lc_codepage_func))(void) = > init_codepage_func; > +unsigned int (__cdecl *__MINGW_IMP_SYMBOL(___lc_codepage_func))(void) = > init_codepage_func; > > static unsigned int __cdecl init_codepage_func(void) > { > @@ -31,12 +31,12 @@ static unsigned int __cdecl init_codepage_func(void) > if(!func) { > msvcrt__lc_codepage = (unsigned int*)GetProcAddress(msvcrt, > "__lc_codepage"); > if(msvcrt__lc_codepage) > - func = msvcrt__lc_codepage_func; > + func = msvcrt___lc_codepage_func; > } > } > > if(!func) > func = setlocale_codepage_hack; > > - return (__MINGW_IMP_SYMBOL(__lc_codepage_func) = func)(); > + return (__MINGW_IMP_SYMBOL(___lc_codepage_func) = func)(); > } > diff --git a/mingw-w64-crt/misc/mb_wc_common.h > b/mingw-w64-crt/misc/mb_wc_common.h > index c95243b..5a40013 100644 > --- a/mingw-w64-crt/misc/mb_wc_common.h > +++ b/mingw-w64-crt/misc/mb_wc_common.h > @@ -6,4 +6,4 @@ > > #include <_mingw.h> > > -_CRTIMP unsigned int __cdecl __lc_codepage_func(void); > +_CRTIMP unsigned int __cdecl ___lc_codepage_func(void); > diff --git a/mingw-w64-crt/misc/mbrtowc.c b/mingw-w64-crt/misc/mbrtowc.c > index df4d318..5cd106e 100644 > --- a/mingw-w64-crt/misc/mbrtowc.c > +++ b/mingw-w64-crt/misc/mbrtowc.c > @@ -101,7 +101,7 @@ mbrtowc (wchar_t * __restrict__ pwc, const char * > __restrict__ s, > wchar_t* dst = pwc ? pwc : &byte_bucket; > > return (size_t) __mbrtowc_cp (dst, s, n, ps ? ps : &internal_mbstate, > - __lc_codepage_func(), MB_CUR_MAX); > + ___lc_codepage_func(), MB_CUR_MAX); > } > > > @@ -113,7 +113,7 @@ mbsrtowcs (wchar_t* __restrict__ dst, const char ** > __restrict__ src, > size_t n = 0; > static mbstate_t internal_mbstate = 0; > mbstate_t* internal_ps = ps ? ps : &internal_mbstate; > - const unsigned int cp = __lc_codepage_func(); > + const unsigned int cp = ___lc_codepage_func(); > const unsigned int mb_max = MB_CUR_MAX; > > if (src == NULL || *src == NULL) /* undefined behavior */ > @@ -156,5 +156,5 @@ mbrlen (const char * __restrict__ s, size_t n, > static mbstate_t s_mbstate = 0; > wchar_t byte_bucket = 0; > return __mbrtowc_cp (&byte_bucket, s, n, (ps) ? ps : &s_mbstate, > - __lc_codepage_func(), MB_CUR_MAX); > + ___lc_codepage_func(), MB_CUR_MAX); > } > diff --git a/mingw-w64-crt/misc/wcrtomb.c b/mingw-w64-crt/misc/wcrtomb.c > index aae58ea..299f67b 100644 > --- a/mingw-w64-crt/misc/wcrtomb.c > +++ b/mingw-w64-crt/misc/wcrtomb.c > @@ -49,7 +49,7 @@ wcrtomb (char *dst, wchar_t wc, mbstate_t * __UNUSED_PARAM > (ps)) > { > char byte_bucket [MB_LEN_MAX]; > char* tmp_dst = dst ? dst : &byte_bucket[0]; > - return (size_t)__wcrtomb_cp (tmp_dst, wc, __lc_codepage_func(), > + return (size_t)__wcrtomb_cp (tmp_dst, wc, ___lc_codepage_func(), > MB_CUR_MAX); > } > > @@ -58,7 +58,7 @@ size_t wcsrtombs (char *dst, const wchar_t **src, size_t > len, > { > int ret = 0; > size_t n = 0; > - const unsigned int cp = __lc_codepage_func(); > + const unsigned int cp = ___lc_codepage_func(); > const unsigned int mb_max = MB_CUR_MAX; > const wchar_t *pwc = *src; > > diff --git a/mingw-w64-crt/misc/wcstof.c b/mingw-w64-crt/misc/wcstof.c > index eea597b..2beb1ff 100644 > --- a/mingw-w64-crt/misc/wcstof.c > +++ b/mingw-w64-crt/misc/wcstof.c > @@ -23,7 +23,7 @@ float wcstof (const wchar_t * __restrict__ wcs, wchar_t ** > __restrict__ wcse) > char * cse; > unsigned int i; > float ret; > - const unsigned int cp = __lc_codepage_func(); > + const unsigned int cp = ___lc_codepage_func(); > > /* Allocate enough room for (possibly) mb chars */ > cs = (char *) malloc ((wcslen(wcs)+1) * MB_CUR_MAX); > diff --git a/mingw-w64-crt/misc/wcstold.c b/mingw-w64-crt/misc/wcstold.c > index e0fd352..219d067 100644 > --- a/mingw-w64-crt/misc/wcstold.c > +++ b/mingw-w64-crt/misc/wcstold.c > @@ -31,7 +31,7 @@ long double wcstold (const wchar_t * __restrict__ wcs, > wchar_t ** __restrict__ w > char * cse; > unsigned int i; > long double ret; > - const unsigned int cp = __lc_codepage_func(); > + const unsigned int cp = ___lc_codepage_func(); > > /* Allocate enough room for (possibly) mb chars */ > cs = (char *) malloc ((wcslen(wcs)+1) * MB_CUR_MAX); > diff --git a/mingw-w64-crt/misc/wctob.c b/mingw-w64-crt/misc/wctob.c > index 435abf1..008e691 100644 > --- a/mingw-w64-crt/misc/wctob.c > +++ b/mingw-w64-crt/misc/wctob.c > @@ -19,7 +19,7 @@ int wctob (wint_t wc ) > wchar_t w = wc; > char c; > int invalid_char = 0; > - if (!WideCharToMultiByte (__lc_codepage_func(), > + if (!WideCharToMultiByte (___lc_codepage_func(), > 0 /* Is this correct flag? */, > &w, 1, &c, 1, NULL, &invalid_char) > || invalid_char) > -- > 1.8.1.2 > > ------------------------------------------------------------------------------ > This SF.net email is sponsored by Windows: > > Build for Windows Store. > > http://p.sf.net/sfu/windows-dev2dev > _______________________________________________ > Mingw-w64-public mailing list > Mingw-w64-public@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/mingw-w64-public ------------------------------------------------------------------------------ This SF.net email is sponsored by Windows: Build for Windows Store. http://p.sf.net/sfu/windows-dev2dev _______________________________________________ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public