Jeff Smith : msvcrt: Correct day-of-month range for strftime.

Alexandre Julliard julliard at winehq.org
Fri Nov 22 16:17:25 CST 2019


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

Author: Jeff Smith <whydoubt at gmail.com>
Date:   Thu Nov 21 18:28:08 2019 -0600

msvcrt: Correct day-of-month range for strftime.

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

---

 dlls/msvcrt/time.c         | 10 +++++-----
 dlls/ucrtbase/tests/misc.c |  4 ++--
 2 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/dlls/msvcrt/time.c b/dlls/msvcrt/time.c
index 802032d79e..288b4d5cda 100644
--- a/dlls/msvcrt/time.c
+++ b/dlls/msvcrt/time.c
@@ -1052,7 +1052,7 @@ static inline BOOL strftime_format(STRFTIME_CHAR *str, MSVCRT_size_t *pos, MSVCR
             switch(count) {
             case 1:
             case 2:
-                ret = strftime_int(str, pos, max, mstm->tm_mday, count==1 ? 0 : 2, 0, 31);
+                ret = strftime_int(str, pos, max, mstm->tm_mday, count==1 ? 0 : 2, 1, 31);
                 break;
             case 3:
                 ret = strftime_str(str, pos, max, STRFTIME_TD(time_data, short_wday)[mstm->tm_wday]);
@@ -1286,7 +1286,7 @@ static MSVCRT_size_t strftime_impl(STRFTIME_CHAR *str, MSVCRT_size_t max,
             break;
 #endif
         case 'd':
-            if(!strftime_int(str, &ret, max, mstm->tm_mday, alternate ? 0 : 2, 0, 31))
+            if(!strftime_int(str, &ret, max, mstm->tm_mday, alternate ? 0 : 2, 1, 31))
                 return 0;
             break;
 #if _MSVCR_VER>=140
@@ -1297,7 +1297,7 @@ static MSVCRT_size_t strftime_impl(STRFTIME_CHAR *str, MSVCRT_size_t max,
                 return 0;
             if(ret < max)
                 str[ret++] = '/';
-            if(!strftime_int(str, &ret, max, mstm->tm_mday, alternate ? 0 : 2, 0, 31))
+            if(!strftime_int(str, &ret, max, mstm->tm_mday, alternate ? 0 : 2, 1, 31))
                 return 0;
             if(ret < max)
                 str[ret++] = '/';
@@ -1305,7 +1305,7 @@ static MSVCRT_size_t strftime_impl(STRFTIME_CHAR *str, MSVCRT_size_t max,
                 return 0;
             break;
         case 'e':
-            if(!strftime_int(str, &ret, max, mstm->tm_mday, alternate ? 0 : 2, 0, 31))
+            if(!strftime_int(str, &ret, max, mstm->tm_mday, alternate ? 0 : 2, 1, 31))
                 return 0;
             if(!alternate && str[ret-2] == '0')
                 str[ret-2] = ' ';
@@ -1319,7 +1319,7 @@ static MSVCRT_size_t strftime_impl(STRFTIME_CHAR *str, MSVCRT_size_t max,
                 return 0;
             if(ret < max)
                 str[ret++] = '-';
-            if(!strftime_int(str, &ret, max, mstm->tm_mday, alternate ? 0 : 2, 0, 31))
+            if(!strftime_int(str, &ret, max, mstm->tm_mday, alternate ? 0 : 2, 1, 31))
                 return 0;
             break;
         case 'g':
diff --git a/dlls/ucrtbase/tests/misc.c b/dlls/ucrtbase/tests/misc.c
index 154781dd33..6700b4bdf1 100644
--- a/dlls/ucrtbase/tests/misc.c
+++ b/dlls/ucrtbase/tests/misc.c
@@ -937,7 +937,7 @@ static void test_strftime(void)
         {"%C", "19", { 0, 0, 0, 1, 0, 70, 4, 0, 0 }},
         {"%C", "99", { 0, 0, 0, 1, 0, 8099, 4, 0, 0 }},
         {"%C", "", { 0, 0, 0, 1, 0, 8100, 4, 0, 0 }},
-        {"%d", "", { 0, 0, 0, 0, 0, 70, 4, 0, 0 }, TRUE},
+        {"%d", "", { 0, 0, 0, 0, 0, 70, 4, 0, 0 }, FALSE, TRUE},
         {"%d", "01", { 0, 0, 0, 1, 0, 70, 4, 0, 0 }},
         {"%d", "31", { 0, 0, 0, 31, 0, 70, 4, 0, 0 }},
         {"%d", "", { 0, 0, 0, 32, 0, 70, 4, 0, 0 }, FALSE, TRUE},
@@ -948,7 +948,7 @@ static void test_strftime(void)
         {"%D", "01/01/99", { 0, 0, 0, 1, 0, 8099, 4, 0, 0 }},
         {"%D", "", { 0, 0, 0, 1, 0, 8100, 4, 0, 0 }},
         {"%#D", "1/1/70", { 0, 0, 0, 1, 0, 70, 4, 0, 0 }},
-        {"%e", "", { 0, 0, 0, 0, 0, 70, 4, 0, 0 }, TRUE},
+        {"%e", "", { 0, 0, 0, 0, 0, 70, 4, 0, 0 }, FALSE, TRUE},
         {"%e", " 1", { 0, 0, 0, 1, 0, 70, 4, 0, 0 }},
         {"%e", "31", { 0, 0, 0, 31, 0, 70, 4, 0, 0 }},
         {"%e", "", { 0, 0, 0, 32, 0, 70, 4, 0, 0 }, FALSE, TRUE},




More information about the wine-cvs mailing list