Commit Graph

86 Commits

Author SHA1 Message Date
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
Jon Griffiths
7e7ca4ac95 Implement conversions between dates and strings.
Remove the final cruft associated with the old date code
BPB's: Roll milliseconds correctly; LOCALE_NOUSEROVERRIDE for num
parsing.
Implement VarAbs and VarNot.
2003-12-09 00:05:31 +00:00
Jon Griffiths
d537c955bc Implemented the variant formatting functions.
Bool->bstr makes a number str unless [ALPHA|LOCAL]BOOL is passed.
2003-11-25 01:49:31 +00:00
Jon Griffiths
136fa03fbf Implement the non-variant date conversions correctly, without going
through 'struct tm' first. Handle negative & 'rolling' dates too.
2003-11-14 21:01:36 +00:00
Gerald Pfeifer
5cc4b3ba16 Removed dead code in VarDateFromUI2(). 2003-11-09 01:21:04 +00:00
Francois Gouget
f405629e8e Weekly spelling fixes. 2003-10-28 21:45:30 +00:00
Daniel Marmier
0348649853 Fixed warnings with gcc option "-Wwrite-strings". 2003-10-06 21:03:32 +00:00
Jon Griffiths
166e96d11f Add VarParseNumFromStr()/VarNumFromParseNum(), use them for
conversions.
VariantInit(): Only touch V_VT field.
VariantClear(): Support IRecordInfo, don't free null bstrs.
Add support for upcoming vtypes, remove dead code, docs.
2003-10-03 03:36:46 +00:00
ccfca3cbc4 Use SysAllocStringByteLen/SysStringByteLen to copy BSTR variants. 2003-09-16 01:03:34 +00:00
Mike McCormack
8d61c96d64 Create a propper stub for oleaut32.VarMod. 2003-09-08 18:37:22 +00:00
Alexandre Julliard
e37c6e18d0 Fixed header dependencies to be fully compatible with the Windows
headers (with help from Dimitrie O. Paun).
2003-09-05 23:08:26 +00:00
Jon Griffiths
58422dc83c Add a bunch of missing stuff.
Use proper types for SafeArray/variant prototypes.
Change I1 functions to take signed chars
2003-07-18 22:52:58 +00:00
Francois Gouget
56aaea2f43 Spelling fixes. 2003-07-09 02:52:57 +00:00
Marcus Meissner
1ae1797505 VarAdd: Added VT_R8, VT_EMPTY, VT_NULL handling. 2003-06-24 19:36:58 +00:00
Marcus Meissner
615615b0c9 OleCreateFontIndirect(NULL,...) uses the OLE StdFont.
Added testcase for OleCreateFontIndirect(NULL).
Added VT_NULL -> VT_BOOL variant converter.
2003-06-24 19:21:20 +00:00
Francois Gouget
c5f775a9c7 Typos/spelling fixes. 2003-06-18 03:30:39 +00:00
Stefan Leichter
a42b0d1368 Partial implementaion of VarBstrFromDec. 2003-05-17 18:30:03 +00:00
Stefan Leichter
053b839179 Fixed DECIMAL_SETZERO
Removed a workaround for the former problem.
2003-05-16 20:13:50 +00:00
Stefan Leichter
9daabbc8d1 Added stub for VarBstrFromDec. 2003-05-15 22:58:48 +00:00
Stefan Leichter
39aab38006 Partial implementation of VarDecFromStr. 2003-05-15 04:15:25 +00:00
Adam Gundy
962b81d607 Handle coercing VT_DISPATCH into VT_PTR. 2003-03-06 22:42:28 +00:00
Marcus Meissner
7ba0c5f3aa VarAdd: set 'rc' correctly from BSTR addition. 2003-03-04 02:14:32 +00:00
Marcus Meissner
b3be773afe Added R4 and R8 comparison to VarCmp.
Added I2 to VarFormat.
Added VarSub, VarDiv, VarMul for integer and float types.
2003-01-28 00:23:19 +00:00
Matthew Davison
60009b9a56 Removed calls to HEAP_strdupAtoW. 2003-01-23 23:07:38 +00:00
Francois Gouget
18e6bb81e3 Fix the case of floats in VarBstrFromR4, VarBstrFromR8 and
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.
2003-01-13 18:30:18 +00:00
Marcus Meissner
fe483aae1d Coerce VT_UNKNOWN <-> VT_DISPATCH, NULL is valid in these cases.
Drop VT_x -> VT_x coercions, they are handled before the switch()
already.
2003-01-11 20:58:58 +00:00
Dimitrie O. Paun
297f3d898d Define NONAMELESS{STRUCT,UNION} explicitly in the files that need them. 2003-01-07 20:36:20 +00:00
Ove Kaaven
40b94e5347 Avoid direct ICOM_CALL usage. 2003-01-05 01:06:04 +00:00
Marcus Meissner
48e583db52 Handle VT_ERROR->VT_I4/VT_R4 coercion.
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.
2003-01-02 23:11:56 +00:00
Marcus Meissner
ef2f1b6ec5 VariantChangeTypeEx for VT_ARRAY | type style variants. 2002-12-23 02:03:10 +00:00
Andreas Mohr
dc85dc0a1b Implemented VarOr(). 2002-12-16 22:08:48 +00:00
Jason Edmeades
d197d40295 VarAdd support for integers. 2002-12-10 19:06:28 +00:00
Ove Kaaven
729dd8bf28 Added more types to wtypes.idl. 2002-12-03 21:42:17 +00:00
Jason Edmeades
0ba86d81fe Add support for VarAnd between integers. 2002-11-25 02:42:33 +00:00
Patrik Stridvall
a3868218d0 Fixed some issues found by winapi_check. 2002-07-19 00:30:16 +00:00
Jason Edmeades
86d5a32de4 - VarFormat now supports VT_R8 and BYREF variant types.
- Add VarCyMulI4 support.
2002-07-08 19:36:24 +00:00
Jason Edmeades
daec720709 Ensure VarBstrCat handles null parms as per windows and actually does
the concatenation even for null args.
2002-07-05 01:22:03 +00:00
Vincent Béron
e35580f4c9 Fixed some various comparisons wrt signedness. 2002-06-21 22:25:17 +00:00
John K. Hohm
2b78ac039f Implemented SizeOfVariantData cases for VT_DISPATCH, VT_UNKNOWN, VT_CY. 2002-06-21 20:13:18 +00:00
Mike McCormack
b7937afab9 Fixed ordinals to match the Windows values.
Added a couple of stubs.
2002-06-20 23:51:21 +00:00
Jason Edmeades
5b6a9ff537 - VarAnd, VarCmp (Strings only), VarNot implemented.
- 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.
2002-06-20 23:07:55 +00:00
Vincent Béron
9a62491660 Removed trailing whitespace. 2002-05-31 23:06:46 +00:00
Vincent Béron
6a5ba8fba2 Fixed some more missing \n in traces. 2002-05-29 19:09:54 +00:00