ucrtbase: Strftime %y works for years 0 to 9999.
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
d0277873ea
commit
5725ed3b46
|
@ -1316,7 +1316,14 @@ static MSVCRT_size_t strftime_helper(char *str, MSVCRT_size_t max, const char *f
|
||||||
return 0;
|
return 0;
|
||||||
break;
|
break;
|
||||||
case 'y':
|
case 'y':
|
||||||
if(!strftime_int(str, &ret, max, mstm->tm_year%100, alternate ? 0 : 2, 0, 99))
|
#if _MSVCR_VER>=140
|
||||||
|
if(!MSVCRT_CHECK_PMT(mstm->tm_year>=-1900 && mstm->tm_year<=8099))
|
||||||
|
goto einval_error;
|
||||||
|
tmp = (mstm->tm_year+1900)%100;
|
||||||
|
#else
|
||||||
|
tmp = mstm->tm_year%100;
|
||||||
|
#endif
|
||||||
|
if(!strftime_int(str, &ret, max, tmp, alternate ? 0 : 2, 0, 99))
|
||||||
return 0;
|
return 0;
|
||||||
break;
|
break;
|
||||||
case 'Y':
|
case 'Y':
|
||||||
|
|
|
@ -379,7 +379,7 @@ static void __cdecl global_invalid_parameter_handler(
|
||||||
const wchar_t *expression, const wchar_t *function,
|
const wchar_t *expression, const wchar_t *function,
|
||||||
const wchar_t *file, unsigned line, uintptr_t arg)
|
const wchar_t *file, unsigned line, uintptr_t arg)
|
||||||
{
|
{
|
||||||
CHECK_EXPECT(global_invalid_parameter_handler);
|
CHECK_EXPECT2(global_invalid_parameter_handler);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void __cdecl thread_invalid_parameter_handler(
|
static void __cdecl thread_invalid_parameter_handler(
|
||||||
|
@ -928,6 +928,10 @@ static void test_strftime(void)
|
||||||
{"%V", "01", { 0, 0, 0, 1, 0, 70, 4, 0, 0 }, TRUE},
|
{"%V", "01", { 0, 0, 0, 1, 0, 70, 4, 0, 0 }, TRUE},
|
||||||
{"%V", "52", { 0, 0, 0, 1, 0, 117, 0, 0, 0 }, TRUE},
|
{"%V", "52", { 0, 0, 0, 1, 0, 117, 0, 0, 0 }, TRUE},
|
||||||
{"%V", "53", { 0, 0, 14, 1, 0, 121, 6, 0, 0 }, TRUE},
|
{"%V", "53", { 0, 0, 14, 1, 0, 121, 6, 0, 0 }, TRUE},
|
||||||
|
{"%y", "", { 0, 0, 0, 0, 0, -1901, 0, 0, 0 }},
|
||||||
|
{"%y", "00", { 0, 0, 0, 0, 0, -1900, 0, 0, 0 }},
|
||||||
|
{"%y", "99", { 0, 0, 0, 0, 0, 8099, 0, 0, 0 }},
|
||||||
|
{"%y", "", { 0, 0, 0, 0, 0, 8100, 0, 0, 0 }},
|
||||||
{"%g", "71", { 0, 0, 0, 2, 0, 72, 0, 1, 0 }},
|
{"%g", "71", { 0, 0, 0, 2, 0, 72, 0, 1, 0 }},
|
||||||
{"%g", "72", { 0, 0, 0, 3, 0, 72, 1, 2, 0 }},
|
{"%g", "72", { 0, 0, 0, 3, 0, 72, 1, 2, 0 }},
|
||||||
{"%G", "1971", { 0, 0, 0, 2, 0, 72, 0, 1, 0 }},
|
{"%G", "1971", { 0, 0, 0, 2, 0, 72, 0, 1, 0 }},
|
||||||
|
|
Loading…
Reference in New Issue