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

Reply via email to