Piotr Caban : msvcrt: Don't depend on how __lc_time_data was allocated in _Getdays.

Alexandre Julliard julliard at winehq.org
Wed Dec 4 16:13:04 CST 2019


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

Author: Piotr Caban <piotr at codeweavers.com>
Date:   Wed Dec  4 15:29:59 2019 +0100

msvcrt: Don't depend on how __lc_time_data was allocated in _Getdays.

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

---

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

diff --git a/dlls/msvcrt/locale.c b/dlls/msvcrt/locale.c
index 6f2a83cc7c..e0c6253044 100644
--- a/dlls/msvcrt/locale.c
+++ b/dlls/msvcrt/locale.c
@@ -456,12 +456,15 @@ static inline char* construct_lc_all(MSVCRT_pthreadlocinfo locinfo) {
 char* CDECL _Getdays(void)
 {
     MSVCRT___lc_time_data *cur = get_locinfo()->lc_time_curr;
-    int i, len, size;
+    int i, len, size = 0;
     char *out;
 
     TRACE("\n");
 
-    size = cur->str.names.short_mon[0]-cur->str.names.short_wday[0];
+    for(i=0; i<7; i++) {
+        size += strlen(cur->str.names.short_wday[i]) + 1;
+        size += strlen(cur->str.names.wday[i]) + 1;
+    }
     out = MSVCRT_malloc(size+1);
     if(!out)
         return NULL;




More information about the wine-cvs mailing list