msvcrt: Correct day-of-month range for strftime.
Signed-off-by: Jeff Smith <whydoubt@gmail.com> Signed-off-by: Piotr Caban <piotr@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
15bbe64609
commit
cdb09ed279
|
@ -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':
|
||||
|
|
|
@ -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},
|
||||
|
|
Loading…
Reference in New Issue