Hans Leidekker
279207b258
oleaut32/tests: Win64 printf format warning fixes.
2006-10-12 20:41:09 +02:00
Michael Stefaniuc
173f7bd26c
janitorial: Remove remaining NULL checks before free() (found by Smatch).
2006-10-10 12:56:24 +02:00
Huw Davies
03ec218326
oleaut32: Implement ITypeInfo_CreateInstance.
2006-10-09 20:38:41 +02:00
James Hawkins
99e2c6dff2
janitorial: Remove redundant NULL checks before CoTaskMemFree (found by Smatch).
2006-10-07 17:52:51 +02:00
Francois Gouget
dd28d5be08
Tweak TRACE()s to simplify '\n' checks.
2006-10-06 17:29:27 +02:00
Francois Gouget
82babbee0b
Add missing '\n's to Wine traces.
2006-10-05 17:46:48 +02:00
Francois Gouget
96f393178d
oleaut32: Remove unnecessary casts.
2006-10-03 20:18:45 +02:00
Robert Shearman
dd70c0ae7c
oleaut32: Fix ITypeInfo::GetFuncDesc to return the correct information for dual dispinterfaces.
2006-10-02 21:38:12 +02:00
Robert Shearman
65ca6a2f4d
oleaut32: Make ITypeInfo::GetDocumentation work for functions/variables in inherited interfaces.
2006-10-02 21:38:07 +02:00
Stefan Leichter
a94bd8afdd
oleaut32/tests: Print each 64-bit integers as two 32 bit integers.
2006-10-02 11:55:53 +02:00
Francois Gouget
b21526925d
oleaut32: Fixed compilation in the nameless union case.
2006-10-02 11:54:23 +02:00
Francois Gouget
222c167969
Assorted spelling fixes.
2006-09-29 16:28:30 +02:00
Michael Stefaniuc
85ce5117c5
Add a WINE_NO_LONG_INT define to many makefiles to ease the transition of DWORD/LONG/ULONG from long to int.
2006-09-29 16:08:30 +02:00
Robert Shearman
cc21d23539
oleaut32: Make sure to free the allocated vtable when the tmarshal proxy is released.
2006-09-28 11:56:00 +02:00
Andrew Talbot
0e9c97eba3
oleaut32: Cast-qual warnings fix.
2006-09-25 18:15:39 +02:00
Benjamin Arai
8d921f1d3c
oleaut32: Conformance test for function variant:VarImp.
2006-09-21 11:25:45 +02:00
Benjamin Arai
4cb6c9184b
oleaut32: Implementation for function variant:VarImp.
2006-09-21 11:25:41 +02:00
Alexandre Julliard
32ab895e46
makefiles: Generate the dependencies line to avoid some code duplication.
2006-09-14 09:38:16 +02:00
Dan Hipschman
b6e6d4b511
oleaut32: Replace a loop with a simple computation.
2006-09-12 11:01:17 +02:00
Benjamin Arai
7e1f392a27
oleaut32: Conformance test for function variant:VarIdiv.
2006-09-12 10:53:56 +02:00
Benjamin Arai
ed64999180
oleaut32: Fixes for function variant:VarIdiv.
2006-09-12 10:53:49 +02:00
Benjamin Arai
a4ec2721a4
oleaut32: Conformance test for function variant:VarDiv.
2006-09-12 10:53:14 +02:00
Benjamin Arai
aaca30cf03
oleaut32: Fixes for function variant:VarDiv.
2006-09-12 10:53:08 +02:00
Mike McCormack
7aa893481e
oleaut32: Include minimal ungif source to remove dependency on libungif.
2006-09-08 16:06:33 +02:00
Benjamin Arai
aee8a62136
oleaut32: Conformance test for function variant:VarPow.
2006-09-08 12:55:05 +02:00
Benjamin Arai
fbf9cba683
oleaut32: Fixes for function variant:VarPow.
2006-09-08 12:54:59 +02:00
Benjamin Arai
9e3e591bf2
oleaut32: Conformance test for function variant:VarAnd.
2006-09-08 12:52:22 +02:00
Benjamin Arai
3abb454c70
oleaut32: Fixes for function variant:VarAnd.
2006-09-08 12:52:14 +02:00
Francois Gouget
3eda8da2bd
oleaut32: Fix spelling of VARIANT_NUMBER_CHARS's separator fields.
2006-09-08 11:03:00 +02:00
Robert Shearman
4d0b1e3d07
oleaut32: Delay the creation of the stub object for IDispatch until it is actually used.
2006-09-07 10:16:55 +02:00
Robert Shearman
b7e88d8f8b
oleaut32: Fix a leak of the module reference count.
2006-09-07 10:16:47 +02:00
Alexandre Julliard
5cf75e615a
makefiles: Only run test and documentation targets in directories that need them.
2006-08-28 13:37:44 +02:00
Benjamin Arai
6aaf2af5c0
oleaut32: Updated conformance test return string for VT_RESERVED.
2006-08-24 11:51:58 +02:00
Benjamin Arai
d1282dce88
oleaut32: Add support for handling TKIND_COCLASS in userdefined_to_variantvt.
2006-08-22 12:00:01 +02:00
Stefan Leichter
220547708a
oleaut32: Print 64bit integers with wine_dbgstr_longlong.
2006-08-22 11:59:38 +02:00
Mike McCormack
9c5c063ebf
oleaut32: Put the HeapFree back in the right place.
2006-08-14 20:17:10 +02:00
Benjamin Arai
bf6867024c
oleaut32: Conformance test for olefont:AddRefHfont.
2006-08-14 11:48:03 +02:00
Benjamin Arai
c4ba8a8c87
oleaut32: Conformance test for olefont:ReleaseHfont.
2006-08-14 11:47:55 +02:00
Mike McCormack
eb9f46037c
oleaut32: Calculate icon data if the picture is dirty, or there's no icon data.
2006-08-14 11:47:48 +02:00
Mike McCormack
cbfc35602e
oleaut32: Print an IID in the trace, not just a pointer to it.
2006-08-14 11:46:50 +02:00
Mike McCormack
bcb3e28e2b
oleaut32: Don't complain when PICTDESC->cbSizeofstruct is 0.
2006-08-14 11:46:45 +02:00
Benjamin Arai
0b44e9a641
oleaut32: Added test to check if olefont:IFont_QueryInterface increments ref counter.
2006-08-12 11:40:12 +02:00
Benjamin Arai
3dade1e7de
oleaut32: Removes stub message from olefont:OLEFontImpl_FindConnectionPoint.
2006-08-11 11:57:01 +02:00
Francois Gouget
aab7d2e78a
oleaut32: Set some missing ProxyStubClsid fields.
2006-08-08 11:15:38 +02:00
Tijl Coosemans
48e1faff1e
oleaut32/tests: Test relative error, not absolute.
2006-08-07 13:11:48 +02:00
Benjamin Arai
0227b8cba2
oleaut32: Removes extra string allocation for varformat:VarMonthName.
2006-08-04 12:04:19 +02:00
Stefan Siebert
9776f5b83f
oleaut32: GetTypeInfoType - Return TYPE_E_ELEMENTNOTFOUND if index out of bounds.
2006-08-03 19:56:22 +02:00
Benjamin Arai
be37e95105
oleaut32: Implement function olefont:OLEFontImpl_IsEqual.
2006-08-03 18:22:03 +02:00
Benjamin Arai
41641554f4
oleaut32: Conformance test for olefont:OLEFontImpl_IsEqual.
2006-08-03 18:20:54 +02:00
Robert Shearman
40556ae08f
oleaut32: Improve dump_DispParms.
2006-07-31 21:27:29 +02:00
Robert Shearman
33582cc69e
oleaut32: Add some validation for the DISPPARAMS structure in ITypeInfo::Invoke.
2006-07-31 21:25:44 +02:00
Benjamin Arai
63c26dac23
oleaut32: Move varformat conformance tests to new file varformat.c
2006-07-31 11:21:45 +02:00
Benjamin Arai
0eed4603c5
oleaut32: VarMonthName - Update error codes and helper functions.
2006-07-28 12:56:45 +02:00
Benjamin Arai
f10ed1f16e
oleaut32: VarSub: Conformance test.
2006-07-28 12:56:45 +02:00
Benjamin Arai
9634ffa7dc
oleaut32: VarSub: Fixes several data types and corrects error codes.
2006-07-28 12:56:45 +02:00
Robert Shearman
d82d374430
oleaut32: Implement GetTypeInfoCount and GetTypeInfo for standard pictures.
2006-07-28 12:56:45 +02:00
Robert Shearman
3435560317
oleaut32: Implement GetTypeInfoCount for standard fonts.
2006-07-28 12:56:45 +02:00
Robert Shearman
9648b824a1
oleaut32: Implement setting of the hPal property in IPictureDisp::Invoke.
...
Remove some validation code that is already handled by a more generic
case at the end of the function.
2006-07-28 12:56:45 +02:00
Robert Shearman
e0e7d96ee6
oleaut32: Implement getting of all properties in IPictureDisp::Invoke.
2006-07-28 12:56:45 +02:00
Robert Shearman
9985f50389
oleaut32: Add a test for passing an invalid number of input parameters into IFontDisp::Invoke with DISPATCH_PROPERTYGET.
2006-07-28 12:56:45 +02:00
Robert Shearman
25aff05e4a
oleaut32: Add validation for parameters in IPictureDisp::Invoke.
...
Add some tests for IPictureDisp::Invoke.
2006-07-28 12:56:44 +02:00
Robert Shearman
18732f85f9
oleaut32: Fix the return code for an invalid dispid in IFontDisp::Invoke.
2006-07-28 12:56:44 +02:00
Robert Shearman
fd48f795ff
oleaut32: Add a successful test for IFontDisp::Invoke.
2006-07-28 12:56:44 +02:00
Robert Shearman
c2afb5cbfb
oleaut32: Handle the Weight property in IFontDisp::Invoke.
2006-07-28 12:56:44 +02:00
Alexandre Julliard
06fbe6012f
oleaut32: Fixed compiler warning.
2006-07-27 12:03:33 +02:00
Robert Shearman
bbdcccd3b7
oleaut32: Add validation of some more parameters in IFontDisp::Invoke.
2006-07-27 11:42:39 +02:00
Robert Shearman
207ec43e70
oleaut32: Clean up IFontDisp::Invoke by using VariantChangeTypeEx to coerce the input parameter into the correct type.
2006-07-27 11:42:33 +02:00
Robert Shearman
68249c10df
configure: Add a check for the DGifOpen function in the gif_lib.h header as the v4 of the file does define it, while v3 doesn't.
2006-07-26 10:23:14 +02:00
Neil Skrypuch
8cec3cf120
oleaut32: Adding a NULL to a safearray is supposed to crash.
2006-07-25 12:05:28 +02:00
Robert Shearman
eb885a750f
oleaut32: Initialize pRetVal in ITypeInfo::Invoke before calling VariantCopyInd
...
as native doesn't assume that it doesn't contain valid data.
2006-07-24 13:46:57 +02:00
Benjamin Arai
b636e4dbf4
oleaut32: Fix missing tests and heap errors for VarCat conformance.
2006-07-21 13:40:39 +02:00
Benjamin Arai
4026a4c0a8
oleaut32: Fix temp variant initialization issues in VarCat.
2006-07-21 13:40:32 +02:00
Benjamin Arai
31e3ad7150
oleaut32: OLEFontImpl_GetIDsOfNames conformance test.
2006-07-21 10:48:34 +02:00
Benjamin Arai
f75b9f190f
oleaut32: Implements OLEFontImpl_GetIDsOfNames.
2006-07-21 10:48:26 +02:00
Benjamin Arai
911af4dce9
oleaut32: Update error codes for VarMod.
2006-07-19 09:38:50 +02:00
Robert Shearman
a05672e55f
oleaut32: Add an exception handler around code executed on the server side from the typelib marshaler.
2006-07-18 11:16:02 +02:00
Robert Shearman
ad6b0dc281
oleaut32: Revert check for FUNCFLAG_FRESTRICTED in ITypeInfo::Invoke.
...
The change caused regressions in a number of applications and needs more
study to see what the correct behaviour should be.
2006-07-18 11:12:35 +02:00
Benjamin Arai
d42002b72c
oleaut32: VarCmp - Corrected function description.
2006-07-18 11:10:15 +02:00
Robert Shearman
c793bfe028
oleaut32: Test the return value of VarCat in the tests.
2006-07-17 14:46:26 +02:00
Robert Shearman
31f640274f
oleaut32: Don't execute a function in ITypeInfo::Invoke if it has the FUNCFLAG_FRESTRICTED flag.
...
Add some more tests for ITypeInfo::Invoke.
2006-07-14 12:39:02 +02:00
Robert Shearman
ebea92739c
oleaut32: Implement GetClassID for the OLE picture class.
2006-07-14 12:38:57 +02:00
Robert Shearman
f9c9a2bf3d
oleaut32: Convert void return types to the VT_EMPTY variant type in ITypeInfo::Invoke.
2006-07-13 16:26:19 +02:00
Robert Shearman
797bdbc2d9
oleaut32: Typelib interfaces with the FDUAL flag should also be registered,
...
since dispinterfaces don't have the FDISPATCHABLE flag.
2006-07-13 16:26:12 +02:00
Alexandre Julliard
eb8a40c368
libs: Merged libwine_unicode into libwine.
...
Most dlls use libwine_unicode at this point, so there's nothing to
gain by having two separate libraries.
2006-07-11 19:33:22 +02:00
Benjamin Arai
700adac9ac
oleaut32: Conformance test and patch for VarCat.
2006-07-11 17:14:58 +02:00
Alexandre Julliard
77dc0d9be5
.gitignore: Added wildcards to ignore generated resource files.
2006-07-10 21:39:00 +02:00
Alexandre Julliard
0fa8baafcb
make_dlls: Recursively ignore .ok files in all tests directories.
2006-07-10 21:26:50 +02:00
Alexandre Julliard
edd100b899
make_dlls: Recursively ignore testlist.c in all tests directories.
2006-07-10 21:19:42 +02:00
Alexandre Julliard
5258e061dc
make_dlls: Ignore generated import libraries from the top-level .gitignore.
2006-07-10 20:55:58 +02:00
Alexandre Julliard
cc2b3b48e6
Take advantage of the recursive nature of .gitignore for Makefile entries.
...
Prefix other entries with '/' to make them non-recursive.
2006-07-10 20:47:54 +02:00
Robert Shearman
f774f7b79c
oleaut32: Make ctl2_hash_guid match the same function in widl, which has likely had much wider testing.
2006-07-10 11:53:08 +02:00
Robert Shearman
688c6a78f1
oleaut32: MSFT_DoFuncs: "reclength" of the function information record is stored
...
in a 16 bit int and not in a 8 bit int as previously supposed, using a 0x1ff
mask. Upper 16 bits contains the ordinal number of the function.
Allocation of the "recbuf" must be modified, to support larger data
(based on a patch by White Snake <whitesnake78@mail.com>).
2006-07-10 11:53:03 +02:00
qingdoa daoo
5e09c29867
oleaut32: Copying a NULL BSTR should result in an empty BSTR in VariantCopy.
2006-07-10 11:52:45 +02:00
Robert Shearman
ef7b6e2740
oleaut32: ITypeComp_fnBind should do case-insensitive compares on the name passed in.
2006-07-07 13:31:43 +02:00
Robert Shearman
c71af73324
oleaut32: Add a typedef for "boolean".
...
Fix up an conflict that this type has with jpeglib.h.
2006-07-07 13:31:37 +02:00
Robert Shearman
dd677948b4
oleaut32: Fix the error code returned by ITypeComp on an interface when the name matches, but the flags don't.
2006-07-07 13:30:46 +02:00
Robert Shearman
65639ab722
oleaut: Implement processing of modules for SLTG typelibs.
...
Set funckind when processing SLTG functions.
2006-07-05 11:48:41 +02:00
Robert Shearman
3f97460c2b
oleaut: Improve SLTG var support.
...
Pass both the start of the block and the offset to the first item into
SLTG_DoVars as they may be different.
Process 0xfffe offsets for variable names - this means to use the
previous name.
Add support for parsing the optional varflags field.
2006-07-05 11:48:29 +02:00
Robert Shearman
4b6b51ae99
oleaut: Fix function support for SLTG dispinterfaces.
2006-07-05 11:48:13 +02:00
Robert Shearman
f2eb2d2309
oleaut: Move the processing of functions in SLTG typelibs into a
...
separate function and use it when processing dispinterfaces.
2006-07-05 11:48:03 +02:00
Robert Shearman
8a50262fdb
oleaut: Move the initialisation of memidConstructor and
...
memidDestructor of type infos to the common ITypeInfo creation
function.
Remove the WARN message as this functionality isn't implemented in
native either.
2006-07-05 11:47:52 +02:00
Robert Shearman
92b468e810
oleaut: Process references for SLTG dispatch types.
2006-07-05 11:46:20 +02:00
Robert Shearman
e4188e8846
oleaut: Abstract out the processing of variables in SLTG typelib components to a common function.
2006-07-05 11:46:07 +02:00
Robert Shearman
bc6acf5c1d
oleaut: Process references when parsing SLTG alias types.
2006-07-05 11:45:35 +02:00
Robert Shearman
23e089a09f
oleaut: Rename SLTG_DoType to SLTG_DoElem and split out the common TYPEDESC generating code to SLTG_DoType.
...
Process SLTG alias types with SLTG_DoType as the data is stored in the
same format as in other components of the typelib.
2006-07-05 11:45:22 +02:00
Robert Shearman
663fb8bd56
oleaut: The SLTG_MemberHeader and SLTG_TypeInfoTail structures are
...
common to all elements, so move the processing of these from the
individual element processing.
Improve SLTG alias processing.
2006-07-05 11:45:08 +02:00
Robert Shearman
283049b8fc
oleaut: Document some more members of SLTG_TypeInfoTail.
2006-07-05 11:44:33 +02:00
Robert Shearman
123592f0c3
oleaut32: Fix parsing of hex numbers with 'e' in the string by moving
...
the exponent parsing to after the hex digit parsing.
2006-07-03 11:33:23 +02:00
Paul Vriens
8f143f190c
Use the return value of register_key_guid.
2006-06-30 21:08:07 +02:00
Robert Shearman
2fa3cc03a5
oleaut32: Fix a typo where the FIXME doesn't match the code.
2006-06-30 20:43:56 +02:00
Robert Shearman
166a91b12d
oleaut32: RegisterTypeLib should register any interface that derives
...
from IDispatch rather than just dual interfaces.
This is hinted at, although not explicitly stated on MSDN, but was
verified by tests with native oleaut32.
2006-06-29 14:40:01 +02:00
Juan Lang
24dd931a56
oleaut32: Handle bstr length of -1 in typelibs.
2006-06-28 16:53:28 +02:00
Juan Lang
2a0c37d8b9
oleaut32: Correctly handle NULLs embedded in BSTRs, with tests.
2006-06-22 12:29:03 +02:00
Kevin Koltzau
0e8b75bb12
oleaut32: Fix 64bit warnings in tests.
2006-06-19 09:21:19 +02:00
Alexandre Julliard
fb5366c6c3
oleaut32: Use unsigned int instead of size_t to avoid printf format warnings.
2006-06-13 14:14:13 +02:00
Alexandre Julliard
cfc6c4891d
oleaut32: Make the virtual table functions static where possible.
2006-06-10 11:59:33 +02:00
Robert Shearman
70c34ccc47
oleaut32: We always pass in an IRpcChannelBuffer to IRpcStubBuffer::Invoke now,
...
so remove the case for it being NULL.
2006-06-09 21:11:32 +02:00
Alexandre Julliard
707060913c
oleaut32: Use the standard DEFINE_OLEGUID macro to define GUIDs.
2006-06-09 21:09:35 +02:00
qingdoa daoo
f80db874d4
oleaut32: Fix safearray data destruction.
2006-06-09 18:13:22 +02:00
Robert Shearman
b5bff92a0c
oleaut32: Uncomment a line to implement conversion from VT_DISPATCH to VT_BSTR.
2006-06-08 11:11:01 +02:00
Robert Shearman
e452b7a0b4
oleaut32: Handle BSTRs in VARIANT_CopyData.
2006-06-08 11:10:58 +02:00
qingdoa daoo
06fcfda9ff
oleaut32: safearray: Convert dimension index at the API boundary.
2006-06-06 12:04:43 +02:00
James Hawkins
585763ffa9
oleaut32: Only BYREF DispCallFunc args whose input args are not BYREF should be changed.
2006-06-06 11:46:14 +02:00
James Hawkins
0e5bd51d28
oleaut32: Copy BYREF args directly if they have the same variant type.
2006-06-06 11:46:03 +02:00
Robert Shearman
9c738061e0
oleaut32: Make sure to read the memid and the name offset from the
...
correct offsets, after the function data, so add cFuncs to the offsets
in MSFT_DoVars.
Resolve referenced types for variables.
Fixes initialisation of the dbgrid32 OCX.
2006-05-31 15:48:07 +02:00
Robert Shearman
983ad4accd
oleaut32: Resolve referenced types for return values as well as parameters in MSFT typelibs.
2006-05-31 15:47:55 +02:00
Alexandre Julliard
23f9e358ad
Tests should not use wine/unicode.h.
2006-05-24 18:05:09 +02:00
Jonathan Ernst
360a3f9142
Update the address of the Free Software Foundation.
2006-05-23 14:11:13 +02:00
Huw Davies
3dce323d69
oleaut32: Update the marshal state buffer size when resizing (Doh!).
2006-05-15 14:25:59 +02:00
Jacek Caban
e8f4fff3ea
oleaut32: res50 is number of impinfos. Fix its usage.
2006-05-15 11:48:29 +02:00
Thomas Weidenmueller
05d629264c
oleaut32: Fix converting file name to Unicode.
...
Fix converting the typelib file name to Unicode by using the correct
buffer size.
2006-05-15 11:06:28 +02:00
Robert Shearman
74407105d2
Check the return value from register_key_guid in all the DLL registering code.
2006-05-10 19:38:04 +02:00
Huw Davies
40986cd729
oleaut32: Correctly handle the case when the number of bytes in a BSTR is odd.
2006-05-10 19:24:01 +02:00
Huw Davies
86d9457cdc
oleaut32: Support VT_SAFEARRAY in the typelib marshaler.
...
Based on a patch by Rob Shearman.
2006-05-10 19:23:43 +02:00
Huw Davies
d0bdf685f5
oleaut32: Add a function to grow the marshal state buffer to a specified size.
2006-05-10 19:23:29 +02:00
Huw Davies
df40c966a0
oleaut32: Preserve the 'auto' features before copying over the masked unmarshaled ones.
2006-05-08 21:18:32 +02:00
Huw Davies
c7bb8bd4fe
oleaut32: Implement GetVarDesc_Proxy and friends.
2006-05-08 14:50:42 +02:00
Huw Davies
9235ae2ecd
oleaut32: Change CLEANLOCALSTORAGE flag constants to their character
...
constant equivalents. It's now obvious why these were chosen. Should
be a NOP.
2006-05-08 14:50:34 +02:00
Huw Davies
3abd27c624
oleaut32: Fix VARIANT_UserFree.
2006-05-07 10:11:06 +02:00
Huw Davies
2898b5d9ad
oleaut32: Remove weird attempt to clear VT_VARIANT.
...
Add some tests.
2006-05-07 10:10:56 +02:00
Huw Davies
696f73a7f5
oleaut32: Rewrite VARIANT user marshaling.
2006-05-07 10:10:30 +02:00
Robert Shearman
6c6ce70260
oleaut32: Check the return value from VariantCopy when copying values
...
for VT_VARIANT typed parameters for ITypeInfo::Invoke.
2006-05-05 21:51:11 +02:00
Robert Shearman
5e8c877f96
oleaut32: Support values being passed into VT_VARIANT|VT_BYREF typed parameters in ITypeInfo::Invoke.
2006-05-05 21:50:58 +02:00
Huw Davies
17ec77f19e
oleaut32: Alignment fixes for safearrays.
2006-05-05 21:47:13 +02:00
Huw Davies
74b63d5e0d
oleaut32: Fix tests under win2k.
2006-05-05 21:47:02 +02:00
Huw Davies
747f08c8ae
oleaut32: Split out the SAFEARRAY and BSTR tests so that they can be used in the upcoming VARIANT tests.
2006-05-05 21:46:47 +02:00
Huw Davies
2e8a74d520
oleaut32: Fix BSTR marshaling to be wire compatible with Windows.
2006-05-05 21:46:32 +02:00
Huw Davies
e783531ec2
oleaut32: Implement GetDocumentation_Proxy/Stub.
2006-05-05 17:04:09 +02:00
Huw Davies
5e69b5d9ff
oleaut32: Implement GetFuncDesc_Proxy and friends.
2006-05-05 17:03:52 +02:00
Huw Davies
32a626fdbd
oleaut32: Implement GetTypeAttr_Proxy and friends.
2006-05-05 16:56:01 +02:00