VarBstrFromCy.
We cannot check for equality of floats or doubles because of rounding
errors. Check equality to 14 digits for doubles.
Add more precision to the expected results so that they match actual
results.
Print floating values with more precision so we know what went wrong.
Specify the locale for all variant functions that depend on it.
Added return codes for Win95. Win95 returns dates with only two digits
for the year.
Uncommented more VariantCopyInd and VariantChangeTypeEx tests.
Uncomment some 'NULL' tests as they pass on Windows and on Wine.
Comment out those that crash on Win95 and indicate why they are
commented out.
Remove two redundant tests in vartest.c (VarI1FromBool and
VarUI2FromI2, last diff hunk).
Added support for FADF_HAVEIID, FADF_RECORD, FADF_HAVEVARTYPE.
Implemented SafeArrayAllocDescriptorEx and SafeArrayGetVarType
correctly.
Fixed second argument of SafeArrayCopyData (it is just SAFEARRAY*).
Changed allocation to include 16 bytes before the SAFEARRAY (to store
IID/VARTYPE/IRecordInfo*).
VARTYPE -> size array was not indexed correctly.
Added lots of testcases for most functionality.
Added IRecordInfo interface definition.
VariantCopy does not need to check the return of VariantClear.
VariantCopyInd now copies VT_UNKNOWN and VT_DISPATCH too.
VarCmp handles VT_BOOL.
VarFormat handles VT_BSTR.
coerce_array fixed for VT_ARRAY|VT_UI1 -> VT_BSTR and VT_ARRAY|x ->
VT_SAFEARRAY cases.
VarCat tries to coerce types into VT_BSTR to do cat.
tdescAlias.vt entry.
Added a small handler for TKIND_DISPATCH in SLTG.
ITypeLib_Release can have a NULL pointer as ITypeInfo*.
Split out _copy_arg function for both DispCall and ITypeInfo_fnInvoke,
added some more functionality.
ITypeInfo_fnInvoke can handle VT_USERDEFINED variants.
using a for loop. This lets us later print the offending string when a
test fails.
Fix the MSVC compilation error (XXXe183) and warnings (put suffixes as
in 0L & 1.0F, signed/unsigned warnings, s/-2147483648/0x80000000L/).
Uncomment the DateFromStr tests and fill in the todo fields where
appropriate.
Define an NB_OLE_STRINGS macro and use it to make sure all the arrays
have the right number of fields.
In the *FromStr loops, fill the return field with a dummy value (42)
before calling the conversion function. This way a test no longer
depends on whether the previous test failed or not!
If a test is expected to fail, then retval is meaningless -> omit it
from the result arrays.
If a test actually fails or was expected to fail, then there is no
point in checking retval.
Improve error reporting.
Pass the printf-style format directly to ok, remove the unnecessary
sprintfs.
Started regression test for SafeArray functions.
Fixed SafeArrayAllocDescriptor (check bounds, set cDims).
Fixed VARTYPE_SIZE array entries so it matches native.
that STRICT works correctly; moved some definitions back to windef.h
where they belong, and removed a couple of definitions that don't
exist on Windows.
- VarParseNumFromStr/VarNumFromParseNum handle negative currency
numbers.
- More VarCmp support (Decimals and Dates).
- Date support for VB time only (0.0->1.0), corrected some date
rounding and calculation errors around variant dates and the system
time.
- Variant date support now round trips! (Date->Variant->Date) due to
misuse of tm_mon (0..11 not 1..12).
- Better pre-1899 support for dates in the SYSTEMTIME format.
- VarBstrFromCy, VarCyFromStr implemented.
- VarFormat partial implementation (currency and date support).
- VarFormatFromTokens, VarTokenizeFormatString partial implementation
as per w2k (dates only so far).
- Better debugging when dumping variants, and some additional trace
points to help debugging.
- Fix to VarBstrCmp to handle null and empty string the same (as per
w2k, different to msdn).
- Fix return from VarDateFromUdate.
- Correct definition of CY structure.
them up.
VT_PTR: Handle NULL pointers by sending a cookie.
Added support for: VT_CARRAY, VT_DISPATCH, TKIND_RECORD, VT_VOID,
VT_UI1, VT_UI2, VT_ERROR, VT_UI4, VT_UINT.
Added a custom serializer for DISPPARAMS struct.