1
0
mirror of https://git.tartarus.org/simon/putty.git synced 2025-01-10 09:58:01 +00:00

Optionally define PropVariantInit() locally to restore ability to build with

MinGW after r9046, and munge the COMPTR() macro to remove a couple of warnings
with my MinGW GCC (3.4.5).

[originally from svn r9049]
[r9046 == 1a03fa9292]
This commit is contained in:
Jacob Nevins 2010-12-26 18:29:53 +00:00
parent b54a8eaef5
commit 301d30c68e

View File

@ -40,6 +40,11 @@ typedef struct _tagpropertykey {
#define _REFPROPVARIANT_DEFINED #define _REFPROPVARIANT_DEFINED
typedef PROPVARIANT *REFPROPVARIANT; typedef PROPVARIANT *REFPROPVARIANT;
#endif #endif
/* MinGW doesn't define this yet: */
#ifndef _PROPVARIANTINIT_DEFINED_
#define _PROPVARIANTINIT_DEFINED_
#define PropVariantInit(pvar) memset((pvar),0,sizeof(PROPVARIANT))
#endif
#define IID_IShellLink IID_IShellLinkA #define IID_IShellLink IID_IShellLinkA
@ -348,7 +353,12 @@ static const PROPERTYKEY PKEY_Title = {
0x00000002 0x00000002
}; };
#define COMPTR(type, obj) &IID_##type, ((sizeof((obj)-(type **)(obj))), (obj)) /* Type-checking macro to provide arguments for CoCreateInstance() etc.
* The pointer arithmetic is a compile-time pointer type check that 'obj'
* really is a 'type **', but is intended to have no effect at runtime. */
#define COMPTR(type, obj) &IID_##type, \
(void **)(void *)((obj) + (sizeof((obj)-(type **)(obj))) \
- (sizeof((obj)-(type **)(obj))))
static char putty_path[2048]; static char putty_path[2048];