Commit Graph

618 Commits

Author SHA1 Message Date
Alastair Bridgewater 70c5612e9d Improve how the GUID hash system works. Mainly a cleanup so that the
hash lookups can be done from other functions.
2004-03-13 19:30:13 +00:00
Alastair Bridgewater ab548adf86 Rename some of the fields in typelib.h to makes more evocative than
'unk00'.
2004-03-13 19:24:58 +00:00
Alexandre Julliard 589e115233 We no longer use the .exe.spec.c files. 2004-03-02 21:16:37 +00:00
Martin Fuchs 4932f56062 Correct return type of SysStringLen() and SysStringByteLen(). 2004-03-01 21:22:59 +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 7dba7d3138 No sign extension for negative values. 2004-02-25 01:23:49 +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
Alastair Bridgewater e9b36904df Support for a small handful more return value/argument/variable types. 2004-02-10 02:26:06 +00:00
Alastair Bridgewater 822f63dcda Fixes and support for TypeInfo alignment values. 2004-02-10 02:23:19 +00:00
Alastair Bridgewater d4745d5b46 Stubbed-out implementation of the ITypeLib interface.
A fix to ICreateTypeInfo::AddRefTypeInfo() to use Release() instead of
hacking a refcount directly.
A missed API doc comment for the ITypeInfo interface.
2004-02-10 01:35:16 +00:00
Francois Gouget ad5ff7ceeb Assorted spelling and case fixes. 2004-02-09 22:07:42 +00:00
Alastair Bridgewater 453d09035c Preliminary support for ICreateTypeInfo::AddImplType().
Support for ICreateTypeInfo::SetImplTypeFlags().
2004-02-09 22:01:25 +00:00
Alastair Bridgewater f9ce2138d3 Preliminary support for recording custom data in a type library. 2004-02-09 21:44:55 +00:00
Alastair Bridgewater 3c06c308f0 Support for recording the SYSKIND of the type library. 2004-02-09 20:48:34 +00:00
Chris Morgan 21d591ec4f Implement tests for VarMod().
Added char *vtstr() to enhance test debugging by returning a text
string that corresponds to the input type.
2004-02-06 05:23:48 +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
Alastair Bridgewater ec496b386e Stubbed-out implementation of the ITypeInfo2 interface for the
ICreateTypeInfo2 implementation.
Implementation of ITypeInfo2_fnGetContainingTypeLib().
Preliminary implementation of ICreateTypeInfo2_fnAddRefTypeInfo().
2004-02-03 21:26:00 +00:00
Kirill Smelkov 7b94c7e094 OLEPictureImpl_Load: fix for headerless pictures. 2004-02-03 00:09:41 +00:00
Alastair Bridgewater 5e07be4eb0 Preliminary implementation of ICreateTypeInfo2_fnAddFuncDesc() and
ICreateTypeInfo2_fnSetFuncAndParamNames().
2004-01-28 21:37:14 +00:00
Alastair Bridgewater 681b6aa083 Improvements to ICreateTypeInfo2_fnAddVarDesc().
A separate function to encode TYPEINFO structures.
2004-01-28 20:04:55 +00:00
Francois Gouget 231fbff8d0 Add trailing '\n's to ok() calls. 2004-01-27 04:01:10 +00:00
Alastair Bridgewater 01b93c166c A small number of cleanups.
A new function to find a given NAME in a type library.
Support for growing a tlb segment when it overflows.
Duplicate GUID elimination.
GUID hash fixes.
NAME hash fixes.
Duplicate STRING elimination fixes.
Duplicate IMPORT elimination fixes.
Type information save ordering fixes.
Support for writing out the CUSTDATA and CUSTDATAGUID segments.
2004-01-27 03:59:07 +00:00
Alexandre Julliard 20b4585e3c Only link against libdxguid where necessary. 2004-01-27 00:11:16 +00:00
Francois Gouget 6b6ed724ae Add missing '\n's to debug traces. 2004-01-27 00:01:43 +00:00
Alexandre Julliard d07c1004e3 Moved a few remaining 16-bit definitions out of the standard headers. 2004-01-23 22:51:41 +00:00
Ge van Geldorp 399901e054 Rename LARGE_INTEGER and ULARGE_INTEGER members "s" to "u" to conform
with PSDK.
2004-01-23 01:51:33 +00:00
Alastair Bridgewater ff466b177f Initial implementation of CreateTypeLib2() and the ICreateTypeLib2 and
ICreateTypeInfo2 interfaces.
2004-01-21 22:24:08 +00:00
Jon Griffiths d83ed49148 Remove tests that are covered by vartype.c.
Call by pointer for more functions not available in early versions.
Add tests for VarFix/VarInt/VarNeg, VarFormat "on/off/yes/no".
Fix tests that assumed relative dates.
Make BSTR copy test separate.
2004-01-20 23:38:38 +00:00
Hans Leidekker 301bbc4984 Add missing comma. 2004-01-19 21:48:21 +00:00
Jon Griffiths f4e7227541 Implemented VarInt, VarFix, VarNeg. 2004-01-13 23:16:04 +00:00
Jon Griffiths 757af5fc15 Use integer math in VarCyInt, docs. 2004-01-13 23:02:34 +00:00
Marcus Meissner ff16b32499 SafeArrayRedim: Use the correct size for resize too. 2004-01-12 21:06:30 +00:00
Alexandre Julliard e8283089cb Get rid of no longer needed WINE_PACKED define. 2004-01-09 22:18:49 +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
Alexandre Julliard bb0d6b7202 Commented out tests that assume that the current year is 2003. 2004-01-02 01:51:38 +00:00
Marcus Meissner 042f8953ff Fixed size calculation on redim if old size was 0. 2003-12-31 18:58:25 +00:00
Marcus Meissner e12ef562a8 Dimensions with cElements=0 are valid and needed by InstallShield.
SafeArrayGetElement: fixed BSTR and LPUNKNOWN handling.
Added testcases for above cases.
2003-12-30 19:06:41 +00:00
Marcus Meissner 09c8cc97f7 Added more argument numbers for _invoke(). 2003-12-30 19:06:21 +00:00
Jon Griffiths b3401e66a3 I8/UI8 are accepted in arrays in recent native dlls.
Test UDTs, array coercion and new functions.
2003-12-15 21:11:25 +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
Jon Griffiths c2d6a6b451 Rewrite: Support I8/UI8,RECORD.
Store array bounds in the same order as native.
Add CreateEx, CreateVectorEx, VectorFromBstr, BstrFromVector.
2003-12-15 21:08:42 +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
Marcus Meissner 30ccb3bd22 Yet another useful hint for missing stdole32.tlb. 2003-12-15 19:47:51 +00:00
Marcus Meissner 2567881312 Do not clear the pointer we just allocated, just the first byte it
points to.
2003-12-15 19:47:10 +00:00
Andrew de Quincey eb4d6e079d - Implemented HELPDIR subkeys properly in RegisterTypeLib().
- Implemented UnRegisterTypeLib().
- Fixed various minor bugs.
2003-12-13 00:04:06 +00:00
Alexandre Julliard 6fee8c95b2 Avoid long long constants (reported by Gerald Pfeifer).
Added a few missing parentheses in macros.
2003-12-12 06:02:31 +00:00
Jon Griffiths 97fc6c3a06 Oops - VT_EMPTY->VT_RECORD is not allowed. 2003-12-11 05:25:59 +00:00
Jon Griffiths 17ce98503b Test almost all of the low level variant functions 2003-12-11 05:25:44 +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
Andrew de Quincey 8b773b125a Upwards traversal of inheritance tree didn't occur for dispatch
interfaces.
2003-12-10 00:38:17 +00:00
Jon Griffiths 27db93dc6a Fix a couple of tests for w2k (Russian). 2003-12-10 00:37:35 +00:00
Jon Griffiths 85602c218d Fix the tests to pass when locale settings are user-overriden.
Fix those tests which pass now.
Test copying, formatting, VarAbs, VarNot.
2003-12-09 00:05:53 +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 dce7644bdc Add hash tables for all supported languages.
Remove some useless includes.
2003-12-02 03:51:10 +00:00
Marcus Meissner 236ad0df3c Use correct pointer for SysFreeString. 2003-12-01 22:36:49 +00:00
Alexandre Julliard 5f8223670a Porting fixes. 2003-11-28 23:19:30 +00:00
Dimitrie O. Paun 99bf92e338 SysReAllocStringLen is documented to segfault on NULL pointer. 2003-11-26 03:35:16 +00:00
Jon Griffiths 392cbdf7b8 Tests for the non-variant date conversion functions. 2003-11-25 01:50:10 +00:00
Jon Griffiths 4f0f1d9253 Improve/shrink variant dumping code. 2003-11-25 01:49:48 +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 f9bca5eaf7 Macros for dumping a variants type and flags.
Fix the date inlines.
Round negative numbers with fractional parts > 0.5 correctly.
2003-11-25 01:48:51 +00:00
Ivan Leo Murray-Smith 15a9d28707 Added/updated Italian resources. 2003-11-19 02:14:44 +00:00
Dmitry Timoshkov 1fa82e51c2 Apply same magic to LibAttr.lcid from MSFT to SLTG. 2003-11-18 00:02:25 +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
Jon Griffiths 2f558b53f1 Add some missing prototypes/defines.
OaBuildVersion() returns a ULONG, not UINT.
2003-11-14 21:01:15 +00:00
Jon Griffiths bb61fe35a2 Dump a few more known variant types.
Don't call DateToTM() - it's going away soon.
2003-11-14 20:59:46 +00:00
Gerald Pfeifer 5cc4b3ba16 Removed dead code in VarDateFromUI2(). 2003-11-09 01:21:04 +00:00
Marcelo Duarte 8defcd386c Localization to the Portuguese of Brazil. 2003-11-05 23:27:01 +00:00
Marcus Meissner 49eaa0db2b Do not coerce arguments of ITypeLib::Invoke in-place, or we get
corrupted variants.
Handle V_ARRAY | something -> VT_SAFEARRAY, as this is a NOP.
2003-11-03 22:13:05 +00:00
Francois Gouget f405629e8e Weekly spelling fixes. 2003-10-28 21:45:30 +00:00
Alexandre Julliard 81db03dd61 The imported typelib name must be converted to Unicode. 2003-10-16 19:09:41 +00:00
Jon Griffiths cc83d9addc Add resources for boolean strings in several languages. 2003-10-15 20:50:24 +00:00
Gerald Pfeifer 0974c154cb Remove unused variables mdays, months, days, and DateStyle. 2003-10-14 20:10:16 +00:00
Dimitrie O. Paun fbdfd910c1 Remove SYMBOLFILE and LDDLLFLAGS from Makefiles. 2003-10-11 01:09:15 +00:00
Jon Griffiths 9194267814 Documentation update. 2003-10-10 23:33:59 +00:00
Daniel Marmier 0348649853 Fixed warnings with gcc option "-Wwrite-strings". 2003-10-06 21:03:32 +00:00
Jon Griffiths 72d7e5b10d Tests for recent variant changes. 2003-10-03 04:34:34 +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
Francois Gouget 224063f033 Some spelling fixes.
Fix the case of WineHQ.
2003-09-29 20:20:53 +00:00
Jon Griffiths 67d1c0884f Document BSTR functions, add SetOANoCache(). 2003-09-24 05:12:52 +00:00
Marcus Meissner 995389ef57 _nrroffuncs: Check for error before dereferencing returned pointer. 2003-09-22 19:21:32 +00:00
Alexandre Julliard 1084a8ba93 Moved out of windef.h a few definitions that don't belong there
(reported by Filip Navara).
2003-09-17 04:31:27 +00:00
ccfca3cbc4 Use SysAllocStringByteLen/SysStringByteLen to copy BSTR variants. 2003-09-16 01:03:34 +00:00
Mike Hearn 0307701201 Implement dispatch variant marshalling. 2003-09-12 00:22:55 +00:00
Francois Gouget 68ea3623b8 Modify winetest_ok to only add a trailing '\n' if there is none.
Modify macros in the kernel, oleaut32 and user tests to print a '\n'.
2003-09-11 01:07:19 +00:00
Alexandre Julliard 20c169e0a4 Fixed a few more headers dependency issues. 2003-09-09 19:39:31 +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
Alexandre Julliard 81c31701d2 Avoid including wine/obj_*.h files directly from C files.
Removed no longer used obj_serviceprovider.h.
2003-09-03 00:16:28 +00:00
Alexandre Julliard 2385079814 Warning fix. 2003-08-28 21:52:20 +00:00
Mike Hearn 6e9f278602 Implemented a typelib loader cache. 2003-08-28 19:44:08 +00:00
Alexandre Julliard 864ca06832 winnls.h must not include winbase.h. 2003-08-20 18:22:31 +00:00
Robert Reif d316a045da Fixed Warblade image loading. 2003-08-18 19:53:23 +00:00
Patrik Stridvall ba78aac406 Fixed some issues found by winapi_check. 2003-08-08 21:07:23 +00:00
Alexandre Julliard 20698b22df Make the DllRegisterServer, DllRegisterServerEx, DllUnregisterServer,
DllGetClassObject and DllCanUnloadNow functions private (suggested by
Jon Griffiths).
2003-07-30 03:48:55 +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
Alexandre Julliard 4aaa257086 Fixed string.h includes. 2003-07-16 23:31:35 +00:00
John K. Hohm cc9005d0f3 Implement DllRegisterServer and DllUnregisterServer, and add
OleSelfRegister version string.
2003-07-15 20:48:47 +00:00
Robert Shearman 37da1e6757 - AddRef type info stored in StdDispatch.
- Don't use outer unknown in StdDispatch.
2003-07-09 04:18:51 +00:00
Francois Gouget 56aaea2f43 Spelling fixes. 2003-07-09 02:52:57 +00:00
Robert Shearman 860a2714ae - Silence the FIXME about constructor/destructor since it is wrong for
99.9% of cases (if MS will ever use the feature at all)
- Added stubs for ITypeComp interface in ITypeLib
- Implementation of ITypeComp in ITypeInfo
2003-06-27 19:40:03 +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 9591836ffb 'sizeof type' is best avoided as it won't always compile (e.g. 'int
main() {return sizeof int;}'). Use 'sizeof(type)' instead.
2003-06-18 19:45:22 +00:00
Francois Gouget c5f775a9c7 Typos/spelling fixes. 2003-06-18 03:30:39 +00:00
Marcus Meissner eee3a24dc9 Fixed index handling for multi dimensional arrays. 2003-06-13 16:35:07 +00:00
Ove Kaaven fd9cbb6ce8 Handle requests for CLSID_PSDispatch. 2003-05-20 04:13:58 +00:00
Robert Shearman d21e32a04f Use correct type of pointer in SafeArrayCreateVector to avoid memory
corruption. Add traces.
2003-05-19 21:43:20 +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
Marcus Meissner 144b0d150b Handle VT_I2 <-> VT_USERDEFINED/TKIND_ENUM conversions too. 2003-05-15 22:58:17 +00:00
Stefan Leichter 39aab38006 Partial implementation of VarDecFromStr. 2003-05-15 04:15:25 +00:00
Dimitrie O. Paun b46d8235c1 Make sure winsock.h gets included before stdlib.h. 2003-05-13 23:36:33 +00:00
Dmitry Timoshkov 1eb2c05070 Remove redundant ITypeLib2_AddRef's. Makes
LoadTypeLib/ITypeLib2_Release work.
2003-05-13 22:15:26 +00:00
Francois Gouget f803e2a92d Fix miscellaneous spelling errors and typos. 2003-05-13 00:41:57 +00:00
Alexandre Julliard f54ffdac93 Removed unnecessary function link names. 2003-05-11 03:04:57 +00:00
Maxime Bellengé 3270641c60 - Fix scanline size in OLEPictureImpl_Load for jpeg
- Convert from RGB to BGR according to BITMAPINFOHEADER
  documentation.
2003-05-08 17:35:12 +00:00
Alexandre Julliard 8f6727c57d Added NONAMELESSUNION/STRUCT defines. 2003-04-27 00:40:47 +00:00
Ove Kaaven 899fafca82 Preliminary implementation of proper IDispatch marshalling. 2003-04-26 02:11:41 +00:00
Alexandre Julliard 150cd5a784 Avoid local WINAPI function pointers in _invoke. 2003-04-17 02:20:52 +00:00
Alexandre Julliard c2ebe1ff93 Removed uses of the non standard ICOM_VTBL macro. 2003-04-10 18:17:34 +00:00
Dmitry Timoshkov 2d55e0484c Fix some problems found while compiling and linking Wine under
Cygwin.
2003-03-31 23:58:27 +00:00
Alexandre Julliard e048adab83 List 16-bit spec files explicitly to avoid problems with some versions
of make.
2003-03-23 20:00:02 +00:00
Alexandre Julliard 114a31a2a8 Take advantage of new winebuild syntax to remove redundant function
names in spec files.
2003-03-20 03:53:12 +00:00
Jon Griffiths cd4234aa49 Documentation updates. 2003-03-18 18:35:48 +00:00
Alexandre Julliard a9c51cb60b Replaced forwards by normal function declarations. 2003-03-17 00:17:00 +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 84213a37ff Handle VT_PTR->VT_VARIANT arguments of Invoke. 2003-03-04 02:14:10 +00:00
Mike Hearn ea957415b0 Check both pointers in GetContainingTypeLib. 2003-02-26 04:36:03 +00:00
Marcus Meissner 7d2173a9e9 Do not free the old string in SysReAllocStringLen, reuse the old
string memory (if 'in' is NULL).
2003-01-28 00:30:29 +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
Alexandre Julliard 43690e9e47 Removed no longer needed inclusion of heap.h. 2003-01-24 00:54:58 +00:00
Matthew Davison 60009b9a56 Removed calls to HEAP_strdupAtoW. 2003-01-23 23:07:38 +00:00
Alexandre Julliard f8aa3b506c Added -Wpointer-arith gcc flag, and fixed the resulting warnings. 2003-01-23 21:32:35 +00:00
Marcus Meissner d0372b4e6e Fixed ICOM_CALLs for IFont_xx methods.
Added IPersistPropertyBag, IPersistStreamInit interfaces with stubs.
Implemented IDispatch::Invoke for the used DISPIDs.
2003-01-23 01:23:59 +00:00
Marcus Meissner 0df0304048 Print a large failure message if we try to load stdole32.tlb and
fail.
2003-01-21 19:29:33 +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
Marcus Meissner d5e60ea373 Convert VT_DISPATCH variants into VT_USERDEFINED/TKIND_DISPATCH and
TKIND_INTERFACE targets, Query IID_IDispatch if necessary.
2003-01-11 20:58:35 +00:00
Marcus Meissner 728bedcfc6 Added GIF decompressor support to OLE Automation IPictures. 2003-01-09 06:04:33 +00:00
Dan Kegel 0fd521fee3 Change RECT to use LONG to match win32 standard headers and fix format
strings to use %ld for RECT elements.
2003-01-08 21:09:25 +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
Francois Gouget 44eb8bf59f Many oleaut32 APIs are missing on Win95/IE3. Load them dynamically.
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).
2003-01-07 19:40:40 +00:00
Alexandre Julliard 52395b0eb9 Fixed some issues caused by the new oaidl.h. 2003-01-05 20:32:30 +00:00
Ove Kaaven 40b94e5347 Avoid direct ICOM_CALL usage. 2003-01-05 01:06:04 +00:00
Francois Gouget 065e928a7b The vt field should be a VARTYPE not a VARENUM. 2003-01-05 01:03:12 +00:00
Dimitrie O. Paun cef5961d2b Eliminate lots of __WINE__ conditionals from the headers. 2003-01-03 19:12:55 +00:00
Marcus Meissner 8ff278d25e Implemented SafeArray{SetIID,GetIID,SetRecordInfo,GetRecordInfo}.
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.
2003-01-02 23:13:56 +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 4beaa06e9d Process TKIND_ALIAS in SLTG typelibs, 0x14 in the tail is the
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.
2003-01-02 23:11:19 +00:00
Marcus Meissner 1c421d779d Support DllGetClassObject of CLSID_StdPicture.
PICTYPE_NONE has width/height 0.
2003-01-02 17:54:57 +00:00
Francois Gouget 236ae4d2c9 Remove unnecessary sprintf calls. 2003-01-02 17:49:51 +00:00
Francois Gouget 3b640ca405 Fix signed/unsigned warnings. 2003-01-02 17:47:01 +00:00
Francois Gouget 49e119f95f Move the test strings into their own array and convert them to unicode
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.
2002-12-24 00:49:27 +00:00
Marcus Meissner ef2f1b6ec5 VariantChangeTypeEx for VT_ARRAY | type style variants. 2002-12-23 02:03:10 +00:00
Marcus Meissner 7c290abd85 Fixed VarBstrCmp/Cat .spec entries.
Started regression test for SafeArray functions.
Fixed SafeArrayAllocDescriptor (check bounds, set cDims).
Fixed VARTYPE_SIZE array entries so it matches native.
2002-12-23 02:02:49 +00:00
Alexandre Julliard 3c25c8e933 Get rid of ole.h. 2002-12-23 01:46:34 +00:00
Robert Shearman a80e051a71 Add standard dispatch implementation (CreateStdDispatch). 2002-12-17 01:47:27 +00:00
Andreas Mohr dc85dc0a1b Implemented VarOr(). 2002-12-16 22:08:48 +00:00
Alberto Massari ea1ca9c705 Implemented DispCallFunc so that it works when calling event handlers
that have no return value.
2002-12-12 22:59:25 +00:00
Alberto Massari 059cffd728 Calling SafeArrayDestroy on a destroyed array should be a no-op. 2002-12-12 22:59:07 +00:00
Marcus Meissner 26ffca49a2 Reverted last VT_USERDEFINED patch (was broken).
Marshal TKIND_DISPATCH interfaces just like TKIND_INTERFACE.
2002-12-12 22:25:07 +00:00
Marcus Meissner 561a1a8de0 Separated out 16bit sources for ole2disp.dll. 2002-12-12 22:24:45 +00:00
Alexandre Julliard dbf8b78acd Added .spec.def files. 2002-12-12 22:04:04 +00:00
Marcus Meissner 3b5e2d1a08 Split out 16bit code into typelib16.c. 2002-12-12 03:56:36 +00:00
Marcus Meissner 5f9e3ffdb9 Serialize/deserialize all reftypes in VT_USERDEFINED. 2002-12-12 02:15:46 +00:00
Alexandre Julliard 435e2e63f4 winnt.h should not be self-contained, it must depend on windef.h so
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.
2002-12-10 22:56:43 +00:00
Jason Edmeades d197d40295 VarAdd support for integers. 2002-12-10 19:06:28 +00:00
Ove Kaaven 1f5315c80f Make sure that no files except unknwn.h include wine/obj_base.h
directly.
2002-12-05 20:33:07 +00:00
Marcus Meissner d344849e4e Marshal VT_R4 (4 byte float). 2002-12-05 19:12:50 +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
Alberto Massari 1a4f5cff4e ITypeInfo::Invoke now is able to invoke a function even when it is
provided with a byref argument.
2002-11-13 19:36:57 +00:00
Marcus Meissner dbebcffb6f Added partial implementation of ITypeInfo::GetDllEntry(). 2002-11-11 22:24:31 +00:00
Marcus Meissner 09a49d4a17 Implemented OleLoadPictureEx. 2002-11-11 19:54:22 +00:00
Marcus Meissner 8e801e25f6 Silence one FIXME(). Implement ITypeInfo::GetDocumentation for
variable descriptions.
2002-11-11 19:54:04 +00:00
Marcus Meissner 1bd4bbb569 Draft implementation of DispCallFunc. 2002-11-08 18:51:28 +00:00
Patrik Stridvall 199acb77f1 Added some defines for compatibility with Windows headers. 2002-10-29 21:26:42 +00:00
Michael Stefaniuc 9faec8a877 Compile the oleaut32 dll with -DSTRICT. 2002-10-25 03:12:50 +00:00
Alexandre Julliard 23bb3715f7 Added support for building certain dlls with -DSTRICT.
Added -DWINE_NO_STRICT flag to dlls that don't support STRICT yet.
2002-10-18 23:46:28 +00:00
Patrik Stridvall 9c1de6de30 Moved all the content of the DDK files ntdef.h and ntddk.h to
winternl.h.
2002-09-12 22:07:02 +00:00
Alexandre Julliard dd0bdbe44e Removed the __uint* types from basetsd.h since they don't exist under
Windows. Fixed a few other issues with type definitions.
2002-09-12 17:29:12 +00:00
Patrik Stridvall 1ee88a2bfb Removed trailing white space. 2002-08-28 23:43:43 +00:00
Patrik Stridvall d016f819f1 Added include protection for unistd.h and sys/time.h. 2002-08-17 00:43:16 +00:00
Alexandre Julliard edeee89c3e Create separate makefiles for tests for more flexibility. 2002-08-09 01:22:40 +00:00
Alexandre Julliard 267ca68253 Fixed HANDLE<->HFILE conversions, since they will be different types
when handles are void*.
2002-07-31 17:20:00 +00:00
Michael Stefaniuc 5c55df649b Converted HENHMETAFILE and HMETAFILE to a void*. 2002-07-29 00:14:59 +00:00
Patrik Stridvall a3868218d0 Fixed some issues found by winapi_check. 2002-07-19 00:30:16 +00:00
Gregg Mattinson ecdafc37a2 Fixed void* arithmetic. 2002-07-16 01:12:39 +00:00
Gregg Mattinson 6886467cb9 Fixes to allow big endian machines to load MSFT typelib files. 2002-07-10 23:07:59 +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
Jason Edmeades 99b3307406 Ensure we free the cached HFONT after loading in a fresh font. Enables
fonts in VB programs to appear correctly.
2002-06-25 02:54:06 +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
Alexandre Julliard 77afd6c47e Made some more spec file entries optional or unnecessary.
Fixed a few DLLName/DLLFileName mismatches.
2002-06-21 19:15:45 +00:00
Alexandre Julliard 8438d9fccb Moved succeeding test out of todo block. 2002-06-21 19:02:44 +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
Marcus Meissner 30f9da4b58 ITypelib::Invoke: Handle different length arguments better, we also
return 1 VARIANT only.
2002-06-20 22:45:08 +00:00
Marcus Meissner c18a6aa8fd Handle argsize for VT_DATE. 2002-06-14 00:36:42 +00:00
Huw D M Davies 61fc6f8cd3 Add more magic to find the start of the nametable. 2002-06-10 23:01:34 +00:00
Marcus Meissner e81f10c97c Merged the two serializer and unserializer functions into one, cleaned
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.
2002-06-10 02:30:20 +00:00
Marcus Meissner 238cdeab1b Added some debugoutput functions for TYPEATTR, IDLDESC, VARDESC.
Support more parameters in _invoke (needed for IDispatch::Invoke in
the marshaller).
2002-06-10 02:29:55 +00:00
Marcus Meissner fd625ddb0b Added marshalling of IUnknown. 2002-06-04 22:14:06 +00:00
Steven Edwards fb24f71e5b Porting fixes. 2002-06-04 00:50:11 +00:00
Alexandre Julliard 7cae558bdc Removed some more trailing whitespace. 2002-06-01 02:55:48 +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
Andreas Mohr 841ce935d2 Removed obsolete email address. 2002-05-23 02:41:46 +00:00
Francois Gouget 4c314000b9 Make the tests compile with Visual C++. 2002-05-23 02:40:07 +00:00
Alexandre Julliard cc2ee7636d Renamed Winelib apps to .exe.so to follow the dll naming convention. 2002-05-21 19:42:29 +00:00
Alexandre Julliard 2ab7625934 Removed most imports of ntdll since we no longer import Wine internal
functions from there.
2002-05-17 03:37:12 +00:00
Alexandre Julliard 9b6f433ebb Implemented strtolW/strtoulW in libwine_unicode and used it to replace
wcstol and friends.
2002-05-16 18:58:47 +00:00
Alexandre Julliard ad53383f9b Added winebuild support for generating a .dbg.c file containing the
debug channels definitions.
Made win32 the default type for spec files.
Ignore C compiler in winebuild so we can simply pass it $(DEFS).
Removed type win32 and debug_channels from spec files.
Fixed winebuild to always generate correct C identifiers (reported by
Vincent Béron).
2002-05-14 20:54:58 +00:00
Alexandre Julliard 67371bcc8d Added -res option to specify resources on winebuild command-line.
Added -exe mode to generate a .spec.c for an exe without having to
provide a .spec.
Removed some no longer needed spec files.
Removed .dll extension in makefiles import specifications.
2002-05-11 23:06:32 +00:00
Alexandre Julliard 32459912dc Moved imports specification from the .spec into the Makefile so that
it can be used on platforms that don't build a .spec.c file.
2002-05-09 00:05:48 +00:00
Marcus Meissner 87ecfab4ec Small hack to make InstallShield v6 work better. 2002-05-06 20:12:32 +00:00
Marcus Meissner 5b63cc22e8 BSTRs can be NULL, handle them seperately. 2002-05-06 20:12:11 +00:00
Alexandre Julliard 140e7222e0 Removed more code at Hidenori's request. 2002-05-05 19:40:57 +00:00
Alexandre Julliard b53f13093e Attempt at fixing MAX_PATH issues for mingw. 2002-05-01 18:13:18 +00:00
Alexandre Julliard 9a8e6e98c5 Added some shdocvw ordinals and stubs.
Fixed a few winapi_check issues.
2002-04-27 00:16:25 +00:00
Hidenori Takeshima ed8fbe3e95 Implemented OleIconToCursor. 2002-04-20 20:55:13 +00:00
Hidenori Takeshima a781a31922 Return error codes in some 16bit ole stubs, returning success causes
crashes.
2002-04-11 23:44:48 +00:00
Alexandre Julliard d7c606d624 Various makefile fixes for the test environment. 2002-04-02 02:58:45 +00:00
Hidenori Takeshima 3a00735924 Implemented CreateStdDispatch and CreateDispTypeInfo. 2002-04-01 20:58:37 +00:00
Marcus Meissner e8d977011b Ported variant tests to the new testing framework. 2002-03-26 01:54:25 +00:00
Alexandre Julliard c1bfca04e1 Changed builtin dlls file names to make it clear they are not normal
Unix libraries, and install them in $libdir/wine instead of $libdir to
avoid name conflicts in /usr/lib.
2002-03-20 22:19:06 +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
Malte Starostik 4062cd924f Do not destroy ITypeLib held by ITypeInfo before the latter is freed. 2002-02-04 18:32:20 +00:00
Marcus Meissner a79dcc46eb VT_EMPTY can be coerced to VT_I4, value 0. 2002-02-04 18:31:53 +00:00
Huw D M Davies eb16e1b055 Weird thing with lcid of library is that if sublang is neutral then we
return the primary lang else we return 0.
2002-01-29 17:05:11 +00:00
Dimitrie O. Paun 693cca5d4d Make FIXMEs more grep-able. 2002-01-29 03:12:19 +00:00
Patrik Stridvall 74e4d21ebe Avoid wildcards in .cvsignore. 2002-01-29 03:05:12 +00:00
Bill Medland a51ff76b86 A couple of additions. 2002-01-29 02:44:44 +00:00
Marcus Meissner de46c22917 The \\<nr> magic in LoadTypeLibEx found directories, which was not
intended. Return error in that case.
2002-01-22 18:28:51 +00:00
Bill Medland e0939a4995 Leave IID check to the OleCreateFontIndirect, so that SFCF will handle
all the interfaces that OleCreate.. will.
2002-01-15 20:23:57 +00:00
Bill Medland dce7e5cf8e Comment only; error in Microsoft documentation. 2002-01-10 18:19:29 +00:00
Bill Medland 064972768d Fixed GetDocumentation a little. When called from RegisterTypeLib it
was leaving the Doc entry uninitialised, leading to page fault when
measuring it. Also ensure correct freeing of resources on failure.
2002-01-09 19:10:59 +00:00
Ove Kaaven fbdfef73f6 If SafeArrayGetElement is called on a variant array, initialize
destination variant before copying the array element to it, some badly
behaved apps don't seem to do it themselves.
2002-01-02 21:44:49 +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
Alexandre Julliard 193cf50a09 Removed some of the calls to HEAP_strdup* functions. 2002-01-01 00:24:30 +00:00
Alexandre Julliard 966121ccd8 Removed the SEGPTR_* macros. 2001-12-26 20:47:33 +00:00