Re: includes: Fix IsEqualPropertyKey definitions

2010-02-22 Thread Alexandre Julliard
Maarten Lankhorst  writes:

>> That doesn't match the PSDK I have, and yes it has a C definition that
>> is different from the C++ one, but is also different from yours.
> Mine doesn't seem to have a C definition at all, but from the
> devpropdef one I assume the C version takes a PROPERTYKEY as parameter
> and not a PROPERTYKEY*?

Yes.

-- 
Alexandre Julliard
julli...@winehq.org




Re: includes: Fix IsEqualPropertyKey definitions

2010-02-22 Thread Maarten Lankhorst
Hi AJ,

2010/2/22 Alexandre Julliard :
> Maarten Lankhorst  writes:
>
>>> This doesn't match the PSDK. Where does this come from?
>> In C, REFPROPERTYKEY becomes PROPERTYKEY*, in C++ it's PROPERTYKEY &,
>> so IsEqualPropertyKey will need a different macro. The psdk doesn't
>> define this properly for the C case, but since I need it in C code I
>> need it defined, unless you want me to do IsEqualPropertyKey(*key1,
>> *key2), but even that wouldn't work because of the IsEqualIID..
>
> That doesn't match the PSDK I have, and yes it has a C definition that
> is different from the C++ one, but is also different from yours.
Mine doesn't seem to have a C definition at all, but from the
devpropdef one I assume the C version takes a PROPERTYKEY as parameter
and not a PROPERTYKEY*?

Cheers,
Maarten.




Re: includes: Fix IsEqualPropertyKey definitions

2010-02-22 Thread Alexandre Julliard
Maarten Lankhorst  writes:

>> This doesn't match the PSDK. Where does this come from?
> In C, REFPROPERTYKEY becomes PROPERTYKEY*, in C++ it's PROPERTYKEY &,
> so IsEqualPropertyKey will need a different macro. The psdk doesn't
> define this properly for the C case, but since I need it in C code I
> need it defined, unless you want me to do IsEqualPropertyKey(*key1,
> *key2), but even that wouldn't work because of the IsEqualIID..

That doesn't match the PSDK I have, and yes it has a C definition that
is different from the C++ one, but is also different from yours.

-- 
Alexandre Julliard
julli...@winehq.org




Re: includes: Fix IsEqualPropertyKey definitions

2010-02-22 Thread Maarten Lankhorst
Hi AJ,

2010/2/22 Alexandre Julliard :
> Maarten Lankhorst  writes:
>
>> @@ -48,7 +48,11 @@
>>  #endif
>>
>>  #ifndef IsEqualPropertyKey
>> +#ifdef __cplusplus
>>  #define IsEqualPropertyKey(a,b) (((a).pid == (b).pid) && 
>> IsEqualIID((a).fmtid,(b).fmtid))
>> +#else
>> +#define IsEqualPropertyKey(a,b) (((a)->pid == (b)->pid) && 
>> IsEqualIID(&(a)->fmtid,&(b)->fmtid))
>> +#endif
>
> This doesn't match the PSDK. Where does this come from?
In C, REFPROPERTYKEY becomes PROPERTYKEY*, in C++ it's PROPERTYKEY &,
so IsEqualPropertyKey will need a different macro. The psdk doesn't
define this properly for the C case, but since I need it in C code I
need it defined, unless you want me to do IsEqualPropertyKey(*key1,
*key2), but even that wouldn't work because of the IsEqualIID..

Cheers,
Maarten.




Re: includes: Fix IsEqualPropertyKey definitions

2010-02-22 Thread Alexandre Julliard
Maarten Lankhorst  writes:

> @@ -48,7 +48,11 @@
>  #endif
>  
>  #ifndef IsEqualPropertyKey
> +#ifdef __cplusplus
>  #define IsEqualPropertyKey(a,b) (((a).pid == (b).pid) && 
> IsEqualIID((a).fmtid,(b).fmtid))
> +#else
> +#define IsEqualPropertyKey(a,b) (((a)->pid == (b)->pid) && 
> IsEqualIID(&(a)->fmtid,&(b)->fmtid))
> +#endif

This doesn't match the PSDK. Where does this come from?

-- 
Alexandre Julliard
julli...@winehq.org