Piotr Caban : msvcrt: Make __lc_time_data more similar to native.

Alexandre Julliard julliard at winehq.org
Tue Feb 2 15:52:10 CST 2021


Module: wine
Branch: master
Commit: 859261f4809a47fd030b605a6e418b7ac52f0790
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=859261f4809a47fd030b605a6e418b7ac52f0790

Author: Piotr Caban <piotr at codeweavers.com>
Date:   Tue Feb  2 18:55:12 2021 +0100

msvcrt: Make __lc_time_data more similar to native.

Signed-off-by: Piotr Caban <piotr at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/msvcrt/locale.c | 6 ++++++
 dlls/msvcrt/msvcrt.h | 2 ++
 2 files changed, 8 insertions(+)

diff --git a/dlls/msvcrt/locale.c b/dlls/msvcrt/locale.c
index ba98d31d719..79a8d47d6d5 100644
--- a/dlls/msvcrt/locale.c
+++ b/dlls/msvcrt/locale.c
@@ -63,12 +63,14 @@ __lc_time_data cloc_time_data =
     MAKELCID(LANG_ENGLISH, SORT_DEFAULT),
 #endif
     1, 0,
+#if _MSVCR_VER == 0 || _MSVCR_VER >= 100
     {{L"Sun", L"Mon", L"Tue", L"Wed", L"Thu", L"Fri", L"Sat",
       L"Sunday", L"Monday", L"Tuesday", L"Wednesday", L"Thursday", L"Friday", L"Saturday",
       L"Jan", L"Feb", L"Mar", L"Apr", L"May", L"Jun", L"Jul", L"Aug", L"Sep", L"Oct", L"Nov", L"Dec",
       L"January", L"February", L"March", L"April", L"May", L"June", L"July",
       L"August", L"September", L"October", L"November", L"December",
       L"AM", L"PM", L"MM/dd/yy", L"dddd, MMMM dd, yyyy", L"HH:mm:ss"}},
+#endif
 #if _MSVCR_VER >= 110
     L"en-US",
 #endif
@@ -1184,10 +1186,12 @@ static __lc_time_data* create_time_data(LCID lcid)
             return NULL;
         size += ret;
 
+#if _MSVCR_VER == 0 || _MSVCR_VER >= 100
         ret = GetLocaleInfoW(lcid, time_data[i], NULL, 0);
         if(!ret)
             return NULL;
         size += ret*sizeof(wchar_t);
+#endif
     }
 #if _MSVCR_VER >= 110
     size += LCIDToLocaleName(lcid, NULL, 0, 0)*sizeof(wchar_t);
@@ -1202,11 +1206,13 @@ static __lc_time_data* create_time_data(LCID lcid)
         cur->str.str[i] = &cur->data[ret];
         ret += GetLocaleInfoA(lcid, time_data[i], &cur->data[ret], size-ret);
     }
+#if _MSVCR_VER == 0 || _MSVCR_VER >= 100
     for(i=0; i<ARRAY_SIZE(time_data); i++) {
         cur->wstr.wstr[i] = (wchar_t*)&cur->data[ret];
         ret += GetLocaleInfoW(lcid, time_data[i],
                 (wchar_t*)&cur->data[ret], size-ret)*sizeof(wchar_t);
     }
+#endif
 #if _MSVCR_VER >= 110
     cur->locname = (wchar_t*)&cur->data[ret];
     LCIDToLocaleName(lcid, (wchar_t*)&cur->data[ret], (size-ret)/sizeof(wchar_t), 0);
diff --git a/dlls/msvcrt/msvcrt.h b/dlls/msvcrt/msvcrt.h
index c360943b1f0..0a742807430 100644
--- a/dlls/msvcrt/msvcrt.h
+++ b/dlls/msvcrt/msvcrt.h
@@ -66,6 +66,7 @@ typedef struct __lc_time_data {
 #endif
     int unk;
     int refcount;
+#if _MSVCR_VER == 0 || _MSVCR_VER >= 100
     union {
         const wchar_t *wstr[43];
         struct {
@@ -80,6 +81,7 @@ typedef struct __lc_time_data {
             const wchar_t *time;
         } names;
     } wstr;
+#endif
 #if _MSVCR_VER >= 110
     const wchar_t *locname;
 #endif




More information about the wine-cvs mailing list