oleaut32: Fix localized date and time parsing.

This commit is contained in:
André Hentschel 2010-03-03 19:59:16 +01:00 committed by Alexandre Julliard
parent 71f24431b9
commit a360c98187
2 changed files with 8 additions and 1 deletions

View File

@ -3439,7 +3439,7 @@ static void test_VarDateFromStr(void)
DFS("02.01.1970 00:00:00"); EXPECT_MISMATCH; DFS("02.01.1970 00:00:00"); EXPECT_MISMATCH;
lcid = MAKELCID(MAKELANGID(LANG_GERMAN,SUBLANG_GERMAN),SORT_DEFAULT); lcid = MAKELCID(MAKELANGID(LANG_GERMAN,SUBLANG_GERMAN),SORT_DEFAULT);
DFS("02.01.1970"); EXPECT_DBL(25570.0); DFS("02.01.1970"); EXPECT_DBL(25570.0);
DFS("02.01.1970 00:00:00"); todo_wine EXPECT_DBL(25570.0); DFS("02.01.1970 00:00:00"); EXPECT_DBL(25570.0);
} }
static void test_VarDateCopy(void) static void test_VarDateCopy(void)

View File

@ -7707,6 +7707,13 @@ HRESULT WINAPI VarDateFromStr(OLECHAR* strIn, LCID lcid, ULONG dwFlags, DATE* pd
dp.dwCount -= 3; dp.dwCount -= 3;
break; break;
case 0x1B: /* localized DDDTTT */
if (!iDate)
{
hRet = DISP_E_TYPEMISMATCH;
break;
}
/* .. fall through .. */
case 0x18: /* DDDTTT */ case 0x18: /* DDDTTT */
if ((dp.dwFlags[0] & (DP_AM|DP_PM)) || (dp.dwFlags[1] & (DP_AM|DP_PM)) || if ((dp.dwFlags[0] & (DP_AM|DP_PM)) || (dp.dwFlags[1] & (DP_AM|DP_PM)) ||
(dp.dwFlags[2] & (DP_AM|DP_PM))) (dp.dwFlags[2] & (DP_AM|DP_PM)))