Module: wine Branch: master Commit: a360c98187856039b0c5365997d6994f95eb4d42 URL: http://source.winehq.org/git/wine.git/?a=commit;h=a360c98187856039b0c5365997...
Author: André Hentschel nerv@dawncrow.de Date: Wed Mar 3 19:59:16 2010 +0100
oleaut32: Fix localized date and time parsing.
---
dlls/oleaut32/tests/vartype.c | 2 +- dlls/oleaut32/vartype.c | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletions(-)
diff --git a/dlls/oleaut32/tests/vartype.c b/dlls/oleaut32/tests/vartype.c index 6742fce..79b6b93 100644 --- a/dlls/oleaut32/tests/vartype.c +++ b/dlls/oleaut32/tests/vartype.c @@ -3439,7 +3439,7 @@ static void test_VarDateFromStr(void) DFS("02.01.1970 00:00:00"); EXPECT_MISMATCH; lcid = MAKELCID(MAKELANGID(LANG_GERMAN,SUBLANG_GERMAN),SORT_DEFAULT); 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) diff --git a/dlls/oleaut32/vartype.c b/dlls/oleaut32/vartype.c index 580209b..da1288d 100644 --- a/dlls/oleaut32/vartype.c +++ b/dlls/oleaut32/vartype.c @@ -7707,6 +7707,13 @@ HRESULT WINAPI VarDateFromStr(OLECHAR* strIn, LCID lcid, ULONG dwFlags, DATE* pd dp.dwCount -= 3; break;
+ case 0x1B: /* localized DDDTTT */ + if (!iDate) + { + hRet = DISP_E_TYPEMISMATCH; + break; + } + /* .. fall through .. */ case 0x18: /* DDDTTT */ if ((dp.dwFlags[0] & (DP_AM|DP_PM)) || (dp.dwFlags[1] & (DP_AM|DP_PM)) || (dp.dwFlags[2] & (DP_AM|DP_PM)))