Commit Graph

128 Commits

Author SHA1 Message Date
Michael Stefaniuc e47b813fc6 oleaut32: Define missing but useful VTBIT_* macros. 2006-01-16 21:32:24 +01:00
Uwe Bonnes 87df07452a Extend VarCmp() and add test cases. 2005-11-03 13:21:11 +00:00
Robert Shearman 4381c62560 Fix a crash during +variant logging caused by a typo causing an array
to be one element less than expected.
2005-11-02 20:03:01 +00:00
Michael Stefaniuc 8ecefe9e93 Handle VT_DECIMAL in VarCmp(). 2005-10-28 10:08:31 +00:00
Michael Stefaniuc c64abfa374 Handle VT_CY in VarDiv(). 2005-10-26 12:05:39 +00:00
Alex Villacís Lasso 253f3bf5be Modify VarDiv() and VarSub() to use the existing VarDecSub() and
VarDecDiv() for DECIMAL.
2005-09-22 10:35:16 +00:00
Michael Stefaniuc 4d36546c07 - VarAdd, VarMul: I4 overflows to R8 and not I8 even if the result
would fit in I8. Fix tests.
- Document a brokeness in the handling of I8 numbers in
  VarNumFromParseNum. Fix tests.
2005-08-23 09:33:37 +00:00
Robert Shearman 27407fad35 Document active object and variant functions. 2005-07-05 11:02:19 +00:00
Robert Shearman cbc3af8ca5 - Conversions between variants types of the same size should ignore
overflows.
- Tests for this behaviour.
2005-06-29 20:15:32 +00:00
Michael Stefaniuc 8e81d45732 - VarCmp: handle comparision of VT_EMPTY with an integer
- small comment fix
2005-06-28 10:54:07 +00:00
Francois Gouget 6394a15314 Assorted spelling fixes. 2005-06-17 20:59:49 +00:00
Michael Stefaniuc 948dd66603 - Reimplement VarAdd, had missing functionality and wrong behaviour.
- Fix a typo in VarMul.
2005-05-29 20:00:31 +00:00
Michael Stefaniuc 0f64aaa807 Reimplement VarMul(). It can multiply now all variants that the native
(WinXP) function supports too.
2005-05-23 11:46:17 +00:00
Richard Cohen 97bc8f6dc7 - Remove unused macro.
- Check for VT_I8 before testing it.
- VarMod returns DISP_E_OVERFLOW not E_INVALIDARG.
2005-05-23 10:26:32 +00:00
Michael Stefaniuc 28faa92c7f Fix VariantChangeType: calls to VarDecFromCy and VarDecFromDisp had
source and destination swapped.
2005-05-23 09:50:50 +00:00
Daniel Remenak 4d7e99df93 Implemented VarIdiv. 2005-04-13 10:59:25 +00:00
Daniel Remenak 292b61f550 Return DISP_E_DIVBYZERO instead of crashing when asked to divide a
variant by zero.
2005-04-12 10:15:56 +00:00
Jon Griffiths 743fb99a9f Use variant macros instead of accessing the union directly. 2005-02-22 14:54:01 +00:00
Alex Villacís Lasso d0bdb3888b Initialize temporary variants before calling VariantChangeTypeEx. 2005-01-25 18:57:43 +00:00
Alex Villacís Lasso ed9a359402 When parsing an hex/oct integer value, copy value verbatim in VARIANT,
rather than a negated value. Add test case for this behavior.
2005-01-17 19:34:58 +00:00
Eric Pouech cf1d00bb08 Removed excessive statement (break after return or goto, not useful
break, not needed vars...)
2005-01-09 16:42:53 +00:00
Francois Gouget 6fb1a20020 Assorted spelling fixes. 2004-12-20 19:27:06 +00:00
Robert Shearman cd0970eb24 Make the DECIMAL_SETZERO macro take a DECIMAL instead of a DECIMAL* as
in the Microsoft headers and fix up the only caller.
2004-12-08 13:59:52 +00:00
Walt Ogburn f61786d444 VarParseNumFromStr: Keep zeros after decimal point, correctly keep
track of trailing zeros in a decimal number.
VarNumFromParseNum: Don't error on decimal expressions for zero.
2004-10-21 19:55:37 +00:00
Walt Ogburn 84c1f667ae Keep "trailing" zeros on whole number part of a decimal.
Add an example of this to tests.
2004-10-19 21:08:40 +00:00
Walt Ogburn d5cf83317e Allow exponents of zero (like "1.000E0") to parse
correctly. Previously, they caused DISP_E_TYPEMISMATCH.
2004-10-11 20:53:29 +00:00
Huw Davies 76c5590bfb Don't trash the dst variant if we can't do the type conversion.
Add a test for this.
2004-09-22 19:12:18 +00:00
Jacek Caban 3a2574e3cc Fix handling of VARIANT with VT_BYREF and null pointer in
VariantChangeTypeEx.
2004-08-25 00:38:59 +00:00
Alexandre Julliard 25e2a320a7 Don't define BEGIN_INTERFACE in unknwn.h. 2004-08-22 21:38:46 +00:00
Francois Gouget bf72af30d0 Modify widl to put the C COM macros inside an #ifdef COBJMACROS block
as is done in the Windows headers.
Add #define COBJMACROS where needed in Wine.
Fixes the compilation of the oleaut32/tests/olefont.c and
urlmon/tests/url.c conformance tests with the Windows headers.
2004-08-11 19:43:45 +00:00
Mike Hearn f349cbb72b Move variant code to its own debug channel. 2004-07-04 00:09:11 +00:00
Jon Griffiths 89450e7cbd Implement VarDateFromUdateEx. 2004-04-30 18:32:58 +00:00
Jon Griffiths befb3a9980 Implement VarOr.
Fixes for untested VarXor,VarAbs,VarNot input types.
2004-04-27 23:29:37 +00:00
Jon Griffiths 9b609135e1 Conversion from VT_UINT to VT_I4 ignores overflow. 2004-04-23 21:29:49 +00:00
Francois Gouget 0217bfdfed Assorted spelling fixes. 2004-04-12 22:08:23 +00:00
Jon Griffiths 743b75ab44 Implement VarXor and simplify VarEqv to use it. 2004-03-22 20:39:27 +00:00
Jon Griffiths 071e950344 Implement VarEqv. 2004-03-17 20:49:22 +00:00
Fabian Cenedese 5feedfdc73 Let VarParseNumFromStr and VarNumFromParseNum cope with hex and oct
strings. Needed from VB conversions such as CLng, CInt, CByte...
2004-03-16 19:15:04 +00:00
Patrik Stridvall 8f9b09e947 Fixed some issues found by winapi_check. 2004-02-27 21:32:54 +00:00
Fabian Cenedese 3d7034e79e VarRound implementation (without type DECIMAL yet) with test function. 2004-02-26 05:27:11 +00:00
Alexandre Julliard b65d13605c Fixed callers of GetLocaleInfoW to use the correct buffer size. 2004-02-25 01:35:01 +00:00
Fabian Cenedese 393ae7d204 Accept VT_BOOL mixed with another type as valid combination in
VarOr/VarAnd.
2004-02-17 20:25:41 +00:00
Chris Morgan 2d1bccd0c4 Implement VarMod().
Add a few trace outputs.
Fix VarNot() with VT_CY.
Fix VarParseNumFromStr() to work correctly with NUMPRS_HEX_OCT flag.
2004-02-06 05:23:29 +00:00
Jon Griffiths f4e7227541 Implemented VarInt, VarFix, VarNeg. 2004-01-13 23:16:04 +00:00
Marcus Meissner 2ac287e875 Copy BSTRs byte wise.
Added a testcase for byte wise copy of VT_BSTR variant with
VariantCopy().
2004-01-09 00:58:01 +00:00
Francois Gouget 640cc3f3e1 Assorted spelling fixes. 2004-01-06 22:08:33 +00:00
Jon Griffiths d95ee19dfd Use the SafeArray conversion functions when coercing arrays.
Simplify VariantChangeTypeEx.
Replace calls to dump_Variant() with TRACE's.
2003-12-15 21:10:53 +00:00
Marcus Meissner cf50f9a04e Implemented VarInt, VarPow.
Added R4 (float) support to VarAdd.
Added DATE support to VarSub.
2003-12-15 20:14:32 +00:00
Jon Griffiths 97fc6c3a06 Oops - VT_EMPTY->VT_RECORD is not allowed. 2003-12-11 05:25:59 +00:00
Jon Griffiths 7e40baadc1 Reimplement/document every low level variant function.
Implement DECIMAL, I8, UI8 types and other missing conversions.
VariantChangeType: Use LOCALE_USER_DEFAULT as per MSDN.
VariantChangeTypeEx: Support new types, pass proper flags.
VarNumFromParseNum: Support VT_DECIMAL as output.
2003-12-11 04:28:20 +00:00