Re: includes: Fix IsEqualPropertyKey definitions
Maarten Lankhorst <m.b.lankhorst(a)gmail.com> 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 julliard(a)winehq.org
Hi AJ, 2010/2/22 Alexandre Julliard <julliard(a)winehq.org>:
Maarten Lankhorst <m.b.lankhorst(a)gmail.com> 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.
Maarten Lankhorst <m.b.lankhorst(a)gmail.com> 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 julliard(a)winehq.org
Hi AJ, 2010/2/22 Alexandre Julliard <julliard(a)winehq.org>:
Maarten Lankhorst <m.b.lankhorst(a)gmail.com> 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.
Maarten Lankhorst <m.b.lankhorst(a)gmail.com> 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 julliard(a)winehq.org
participants (2)
-
Alexandre Julliard -
Maarten Lankhorst