Juan Lang : oleaut32: Implement VarDecFix.

Alexandre Julliard julliard at winehq.org
Thu Feb 19 09:18:28 CST 2009


Module: wine
Branch: master
Commit: 48d1f9fba1ffcf610cb3233d8322765937f57f5b
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=48d1f9fba1ffcf610cb3233d8322765937f57f5b

Author: Juan Lang <juan.lang at gmail.com>
Date:   Wed Feb 18 09:05:51 2009 -0800

oleaut32: Implement VarDecFix.

---

 dlls/oleaut32/vartype.c |   12 ++++++++++--
 1 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/dlls/oleaut32/vartype.c b/dlls/oleaut32/vartype.c
index 3e435ab..0b0ed28 100644
--- a/dlls/oleaut32/vartype.c
+++ b/dlls/oleaut32/vartype.c
@@ -5662,6 +5662,9 @@ HRESULT WINAPI VarDecAbs(const DECIMAL* pDecIn, DECIMAL* pDecOut)
  */
 HRESULT WINAPI VarDecFix(const DECIMAL* pDecIn, DECIMAL* pDecOut)
 {
+  double dbl;
+  HRESULT hr;
+
   if (DEC_SIGN(pDecIn) & ~DECIMAL_NEG)
     return E_INVALIDARG;
 
@@ -5671,8 +5674,13 @@ HRESULT WINAPI VarDecFix(const DECIMAL* pDecIn, DECIMAL* pDecOut)
     return S_OK;
   }
 
-  FIXME("semi-stub!\n");
-  return DISP_E_OVERFLOW;
+  hr = VarR8FromDec(pDecIn, &dbl);
+  if (SUCCEEDED(hr)) {
+    LONGLONG rounded = dbl;
+
+    hr = VarDecFromI8(rounded, pDecOut);
+  }
+  return hr;
 }
 
 /************************************************************************




More information about the wine-cvs mailing list