Commit Graph

130 Commits

Author SHA1 Message Date
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
Marcus Meissner e8d977011b Ported variant tests to the new testing framework. 2002-03-26 01:54:25 +00:00
Alexandre Julliard 0799c1a780 Added LGPL standard comment, and copyright notices where necessary.
Global replacement of debugtools.h by wine/debug.h.
2002-03-09 23:29:33 +00:00
Patrick Haller 0e3c9d454b Fix crash in VariantTimeToDosDateTime. 2002-02-19 18:23:09 +00:00
Marcus Meissner 0749fc2034 Implemented Local Server COM.
Implemented the Typelib based Marshaler.
2002-02-05 18:11:17 +00:00
Marcus Meissner a79dcc46eb VT_EMPTY can be coerced to VT_I4, value 0. 2002-02-04 18:31:53 +00:00
Bill Medland a51ff76b86 A couple of additions. 2002-01-29 02:44:44 +00:00
Ove Kaaven a0da66945f Fixed a looks-like-nobody-ever-tested-this-function kind of bug in
VariantCopyInd.
2002-01-02 21:44:30 +00:00
Francois Gouget 070e749cfb Don't prefix %p with 0x.
Various English fixes.
2001-11-06 21:01:32 +00:00
Ove Kaaven 54c8fee942 Implement coercion to VT_UNKNOWN from VT_DISPATCH. 2001-10-04 16:14:24 +00:00
Andreas Mohr 2718c895d1 Make OaBuildVersion() return the highest version value possible.
Some cleanups.
2001-10-02 18:28:31 +00:00
Ove Kaaven 9f6d5a068b Variants and safe arrays is now able to copy BSTR swith embedded null
characters. Safe arrays now handle BSTRs and variants.
2001-09-21 21:01:31 +00:00
Patrik Stridvall 72d41524c8 Documentation fixes. 2001-09-10 23:16:31 +00:00
Francois Gouget 9947b68c3e Add the decVal field to VARIANT.
Fix the VARIANT C layout, i.e. the union/struct names/nesting.
Encapsulate all accesses to VARIANT types with the V_VT and V_UNION
macros.
2001-08-21 17:03:10 +00:00
Marcus Meissner d23f0dbea2 Do not pass the high level wFlags from VariantChangeType* down to low
level Variant conversion functions.
2001-08-18 18:00:50 +00:00
Mike McCormack 8fef006fd2 Implemented oleaut32.VarBstrCat. 2001-08-18 16:06:30 +00:00
Mike McCormack 06abe79037 Partially implement oleaut32.VarBstrCmp. 2001-08-16 18:01:41 +00:00
Marcus Meissner 4736cc8cd5 Implemented VarParseNumFromStr, VarNumFromParseNum. 2001-08-15 18:47:28 +00:00
Marcus Meissner 542f775343 DateTimeStringToTm and DateToTm must use dwFlags instead of lcid. 2001-08-15 17:39:24 +00:00
Daniel Walker 3e3e230d3b - implemented SystemTimetoVariantTime/VariantTimetoSystemTime
There was another implementation of SystemTimetoVariantTime
    submitted that didn't work for dates prior to 1900.
- implemented VarDateFromUDate/VarUdateFromDate
- implemented VariantTimeToDosDateTime
2001-08-13 20:07:01 +00:00
Patrik Stridvall 01d5e5b071 Documentation fixes. 2001-07-02 19:59:40 +00:00
Patrik Stridvall 8b216b3d02 Documentation ordinal fixes. 2001-06-19 18:20:47 +00:00
Francois Gouget 9fcefdd89d Fix the VarXxxFromCy conversions.
Remove (commented-out) references to inexistent VarXxxFrom32 functions.
Remove obsolete '32' suffixes.
2001-05-31 21:32:08 +00:00
Francois Gouget cd8d181a0b Spelling typos. 2001-05-18 21:01:38 +00:00
Francois Gouget 282f7270c1 Small 'typos in comments' fixes. 2001-02-28 05:31:02 +00:00
Josh DuBois a57eb65548 Changed VarCyFromI1 to take a signed char. 2001-01-22 19:23:54 +00:00
Francois Gouget 519346a47e Fixed miscellaneous typos, syntactic and grammatical errors. 2000-12-02 20:18:08 +00:00
Francois Jacques 26c0b76bf8 Implemented VT_EMPTY to VT_BSTR type coercion. 2000-11-25 01:20:37 +00:00
Alexandre Julliard 908464d448 Authors: Andreas Mohr <amohr@codeweavers.com>, Dimitrie O. Paun <dimi@cs.toronto.edu>, Patrik Stridvall <ps@leissner.se>
Various warning fixes.
2000-11-01 03:11:12 +00:00
Patrik Stridvall 2d6457c11a Added/fixed some documentation reported by winapi_check. 2000-03-28 20:22:59 +00:00
Patrik Stridvall fcfacb95a7 Added/fixed some documentation reported by winapi_check. 2000-03-24 20:46:04 +00:00
Lawson Whitney a18fc8a7c7 Take type from referenced variant for VT_BYREF && VT_VARIANT. 2000-03-09 18:31:52 +00:00
Lawson Whitney 51044b3d51 Corrected value for DAYS_IN_ONE_YEAR. 2000-03-08 18:24:03 +00:00
Owen Wang 64b9d86669 Set the type of VarBstrFromDate to dwFlags, instead of lcid.
Ulrich Czekalla  <ulrichc@corel.ca>
Fixed the problem with the date being off by one.

Petar Djukic
VariantCopy was ignoring VT_DISPATCH,VT_UNKNOWN, and VT_VARIANT. Same
with VariantClear.
Coerce function doesn't implement coercion for VT_DISPATCH type.
2000-02-18 19:14:29 +00:00
Alexandre Julliard fc296da4e2 Removed extra includes from ole.h and wingdi.h. 2000-02-10 19:39:48 +00:00
Patrik Stridvall 96336324cf - Added missing configuration #if:s and #includes:s.
- Minor configuration related changes.
1999-10-24 22:13:47 +00:00
Ulrich Weigand 2a722f498a Moved bulk of OLE implementation to dlls/ subdirectories. 1999-09-19 18:36:53 +00:00