Piotr Caban : msvcrt: Fix lc_collate_cp initialization.

Alexandre Julliard julliard at winehq.org
Tue Dec 6 15:46:18 CST 2011


Module: wine
Branch: master
Commit: dbff7a1ca2872cc305133d400891ff99b845b8da
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=dbff7a1ca2872cc305133d400891ff99b845b8da

Author: Piotr Caban <piotr at codeweavers.com>
Date:   Tue Dec  6 12:48:09 2011 +0100

msvcrt: Fix lc_collate_cp initialization.

---

 dlls/msvcrt/locale.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/dlls/msvcrt/locale.c b/dlls/msvcrt/locale.c
index 6bb6162..6893685 100644
--- a/dlls/msvcrt/locale.c
+++ b/dlls/msvcrt/locale.c
@@ -789,6 +789,8 @@ MSVCRT__locale_t CDECL MSVCRT__create_locale(int category, const char *locale)
             MSVCRT__free_locale(loc);
             return NULL;
         }
+
+        loc->locinfo->lc_collate_cp = loc->locinfo->lc_id[MSVCRT_LC_COLLATE].wCodePage;
     } else
         loc->locinfo->lc_category[MSVCRT_LC_COLLATE].locale = MSVCRT__strdup("C");
 
@@ -802,7 +804,6 @@ MSVCRT__locale_t CDECL MSVCRT__create_locale(int category, const char *locale)
         }
 
         loc->locinfo->lc_codepage = loc->locinfo->lc_id[MSVCRT_LC_CTYPE].wCodePage;
-        loc->locinfo->lc_collate_cp = loc->locinfo->lc_codepage;
         loc->locinfo->lc_clike = 1;
         if(!GetCPInfo(loc->locinfo->lc_codepage, &cp)) {
             MSVCRT__free_locale(loc);
@@ -1155,6 +1156,7 @@ char* CDECL MSVCRT_setlocale(int category, const char* locale)
     switch(category) {
         case MSVCRT_LC_ALL:
         case MSVCRT_LC_COLLATE:
+            locinfo->lc_collate_cp = loc->locinfo->lc_collate_cp;
             locinfo->lc_handle[MSVCRT_LC_COLLATE] =
                 loc->locinfo->lc_handle[MSVCRT_LC_COLLATE];
             swap_pointers((void**)&locinfo->lc_category[MSVCRT_LC_COLLATE].locale,
@@ -1174,7 +1176,6 @@ char* CDECL MSVCRT_setlocale(int category, const char* locale)
                     (void**)&loc->locinfo->lc_category[MSVCRT_LC_CTYPE].refcount);
 
             locinfo->lc_codepage = loc->locinfo->lc_codepage;
-            locinfo->lc_collate_cp = loc->locinfo->lc_collate_cp;
             locinfo->lc_clike = loc->locinfo->lc_clike;
             locinfo->mb_cur_max = loc->locinfo->mb_cur_max;
 




More information about the wine-cvs mailing list