From 8ecefe9e9343e0efb0184f596253c5adf7cd3c52 Mon Sep 17 00:00:00 2001 From: Michael Stefaniuc Date: Fri, 28 Oct 2005 10:08:31 +0000 Subject: [PATCH] Handle VT_DECIMAL in VarCmp(). --- dlls/oleaut32/variant.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/dlls/oleaut32/variant.c b/dlls/oleaut32/variant.c index ca58a5481d9..e30d396a522 100644 --- a/dlls/oleaut32/variant.c +++ b/dlls/oleaut32/variant.c @@ -2537,6 +2537,13 @@ HRESULT WINAPI VarCmp(LPVARIANT left, LPVARIANT right, LCID lcid, DWORD flags) } xmask = (1<<(V_VT(left)&VT_TYPEMASK))|(1<<(V_VT(right)&VT_TYPEMASK)); + if (xmask & VTBIT_DECIMAL) { + rc = VariantChangeType(&lv,left,0,VT_DECIMAL); + if (FAILED(rc)) return rc; + rc = VariantChangeType(&rv,right,0,VT_DECIMAL); + if (FAILED(rc)) return rc; + return VarDecCmp(&V_DECIMAL(&lv), &V_DECIMAL(&rv)); + } if (xmask & VTBIT_R8) { rc = VariantChangeType(&lv,left,0,VT_R8); if (FAILED(rc)) return rc;