From: Jacob Czekalla jczekalla@codeweavers.com
Time strings like "25" were parsed as-is instead of "2025". --- dlls/wininet/internet.c | 5 +++++ dlls/wininet/tests/internet.c | 8 ++++---- 2 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/dlls/wininet/internet.c b/dlls/wininet/internet.c index c11f9367fb7..aee0b096cc6 100644 --- a/dlls/wininet/internet.c +++ b/dlls/wininet/internet.c @@ -4024,6 +4024,11 @@ static BOOL calc_year(SYSTEMTIME* time, const WCHAR **s)
if (**s == '\0') return TRUE; time->wYear = wcstol( *s, &end, 10 ); + if (80 > time->wYear) + time->wYear += 2000; + else if (100 > time->wYear) + time->wYear += 1900; + *s = end; return FALSE; } diff --git a/dlls/wininet/tests/internet.c b/dlls/wininet/tests/internet.c index 2299e3eba03..a5325c05cbb 100644 --- a/dlls/wininet/tests/internet.c +++ b/dlls/wininet/tests/internet.c @@ -1137,13 +1137,13 @@ static void test_InternetTimeToSystemTime(void) { "Fri Jan 7 12:06:35 2005", &expect1, TRUE }, { "Fri Jan 7 12:06:35 2005 GMT", &expect1, TRUE }, { "Fri Jan 7 12:06:35 2005 UTC", &expect1, TRUE }, - { "Fri, 7-Jan-05 12:06:35 GMT", &expect1, TRUE, TRUE }, - { "Fri Jan 7 12:06:35 99 UTC", &expect3, TRUE, TRUE }, + { "Fri, 7-Jan-05 12:06:35 GMT", &expect1, TRUE }, + { "Fri Jan 7 12:06:35 99 UTC", &expect3, TRUE }, { "Fri Jan 7 12:06:35 100 UTC", &expect4, TRUE }, { "Fri Jan 7 12:06:35 1600 UTC", &expect5, TRUE }, { "Fri Jan 7 12:06:35 30828 UTC", &expect6, TRUE }, - { "Fri Jan 7 12:06:35 79 UTC", &expect7, TRUE, TRUE }, - { "Fri Jan 7 12:06:35 80 UTC", &expect8, TRUE, TRUE } + { "Fri Jan 7 12:06:35 79 UTC", &expect7, TRUE }, + { "Fri Jan 7 12:06:35 80 UTC", &expect8, TRUE } };
ret = pInternetTimeToSystemTimeA(NULL, NULL, 0);