Module: wine Branch: master Commit: 48d1f9fba1ffcf610cb3233d8322765937f57f5b URL: http://source.winehq.org/git/wine.git/?a=commit;h=48d1f9fba1ffcf610cb3233d83...
Author: Juan Lang juan.lang@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; }
/************************************************************************