diff --git a/reactos/lib/oleaut32/oleaut32.spec b/reactos/lib/oleaut32/oleaut32.spec index 6c713b755a7..6d1699551d5 100644 --- a/reactos/lib/oleaut32/oleaut32.spec +++ b/reactos/lib/oleaut32/oleaut32.spec @@ -10,8 +10,8 @@ 10 stdcall VariantCopy(ptr ptr) 11 stdcall VariantCopyInd(ptr ptr) 12 stdcall VariantChangeType(ptr ptr long long) -#13 stdcall VariantTimeToDosDateTime(double ptr ptr) -#14 stdcall DosDateTimeToVariantTime(long long ptr) +13 stdcall VariantTimeToDosDateTime(double ptr ptr) +14 stdcall DosDateTimeToVariantTime(long long ptr) #15 stdcall SafeArrayCreate(long long ptr) #16 stdcall SafeArrayDestroy(ptr) #17 stdcall SafeArrayGetDim(ptr) @@ -310,7 +310,7 @@ 315 stdcall VarR8Pow(double double ptr) 316 stdcall VarR4CmpR8(long double) 317 stdcall VarR8Round(double long ptr) -#318 stdcall VarCat(ptr ptr ptr) +318 stdcall VarCat(ptr ptr ptr) 319 stub VarDateFromUdateEx # stdcall (ptr long long ptr) #320 stdcall -private DllRegisterServer() OLEAUT32_DllRegisterServer #321 stdcall -private DllUnregisterServer() OLEAUT32_DllUnregisterServer @@ -320,8 +320,8 @@ 326 stub GetVarConversionLocaleSetting 327 stdcall SetOaNoCache() 329 stdcall VarCyMulI8(long long long long ptr) -#330 stdcall VarDateFromUdate(ptr long ptr) -#331 stdcall VarUdateFromDate(double long ptr) +330 stdcall VarDateFromUdate(ptr long ptr) +331 stdcall VarUdateFromDate(double long ptr) 332 stub GetAltMonthNames 333 stdcall VarI8FromUI1(long long) 334 stdcall VarI8FromI2(long long) diff --git a/reactos/lib/oleaut32/variant.c b/reactos/lib/oleaut32/variant.c index 8b9d984c5fb..dd6ac52aca1 100644 --- a/reactos/lib/oleaut32/variant.c +++ b/reactos/lib/oleaut32/variant.c @@ -1126,8 +1126,6 @@ static inline double VARIANT_JulianFromDMY(USHORT year, USHORT month, USHORT day #define DOS_DATE(d,m,y) (d | (m << 5) | ((y-1980) << 9)) #define DOS_TIME(h,m,s) ((s >> 1) | (m << 5) | (h << 11)) -#ifndef __REACTOS__ /*FIXME: disabled for now */ - /* Roll a date forwards or backwards to correct it */ static HRESULT VARIANT_RollUdate(UDATE *lpUd) { @@ -2091,6 +2089,7 @@ HRESULT WINAPI VarNumFromParseNum(NUMPARSE *pNumprs, BYTE *rgbDig, V_I8(pVarDst) = -ul64; return S_OK; } +#ifndef __REACTOS__ /*FIXME: problems with MinGW and DEC_LO64 */ else if ((dwVtBits & REAL_VTBITS) == VTBIT_DECIMAL) { /* Decimal is only output choice left - fast path */ @@ -2100,6 +2099,7 @@ HRESULT WINAPI VarNumFromParseNum(NUMPARSE *pNumprs, BYTE *rgbDig, DEC_LO64(&V_DECIMAL(pVarDst)) = -ul64; return S_OK; } +#endif } } else if (!bOverflow) @@ -2153,6 +2153,7 @@ HRESULT WINAPI VarNumFromParseNum(NUMPARSE *pNumprs, BYTE *rgbDig, V_UI8(pVarDst) = ul64; return S_OK; } +#ifndef __REACTOS__ /*FIXME: problems with MinGW and DEC_LO64 */ else if ((dwVtBits & REAL_VTBITS) == VTBIT_DECIMAL) { /* Decimal is only output choice left - fast path */ @@ -2162,6 +2163,7 @@ HRESULT WINAPI VarNumFromParseNum(NUMPARSE *pNumprs, BYTE *rgbDig, DEC_LO64(&V_DECIMAL(pVarDst)) = ul64; return S_OK; } +#endif } } @@ -2256,6 +2258,7 @@ HRESULT WINAPI VarNumFromParseNum(NUMPARSE *pNumprs, BYTE *rgbDig, } } +#ifndef __REACTOS__ /*FIXME: problems with MinGW and DEC_LO64 */ if (dwVtBits & VTBIT_DECIMAL) { int i; @@ -2313,6 +2316,7 @@ VarNumFromParseNum_DecOverflow: V_VT(pVarDst) = VT_DECIMAL; return S_OK; } +#endif return DISP_E_OVERFLOW; /* No more output choices */ } @@ -3740,5 +3744,3 @@ HRESULT WINAPI VarPow(LPVARIANT left, LPVARIANT right, LPVARIANT result) V_R8(result) = pow(V_R8(&dl),V_R8(&dr)); return S_OK; } - -#endif /*FIXME*/ diff --git a/reactos/lib/oleaut32/vartype.c b/reactos/lib/oleaut32/vartype.c index 6d0c9757650..c166b37ce3e 100644 --- a/reactos/lib/oleaut32/vartype.c +++ b/reactos/lib/oleaut32/vartype.c @@ -85,7 +85,6 @@ HRESULT VARIANT_NumberFromBstr(OLECHAR* pStrIn, LCID lcid, ULONG ulFlags, { VARIANTARG dstVar; HRESULT hRet; -#ifndef __REACTOS__ /*FIXME: missing NUMPARSE in MinGW */ NUMPARSE np; BYTE rgb[1024]; @@ -102,7 +101,6 @@ HRESULT VARIANT_NumberFromBstr(OLECHAR* pStrIn, LCID lcid, ULONG ulFlags, if (SUCCEEDED(hRet)) VARIANT_CopyData(&dstVar, vt, pOut); } -#endif return hRet; }