ddraw: Get rid of ICOM_VFIELD_MULTI_NAME and ICOM_VFIELD_OFFSET.
Henri Verbeet
hverbeet at codeweavers.com
Wed Jan 21 02:56:14 CST 2009
---
dlls/ddraw/ddcomimpl.h | 12 ++----------
1 files changed, 2 insertions(+), 10 deletions(-)
diff --git a/dlls/ddraw/ddcomimpl.h b/dlls/ddraw/ddcomimpl.h
index 4db261b..394823d 100644
--- a/dlls/ddraw/ddcomimpl.h
+++ b/dlls/ddraw/ddcomimpl.h
@@ -22,23 +22,15 @@
#include <stddef.h>
-/* Generates the name for a vtable pointer for a given interface. */
-/* The canonical name for a single interface is "lpVtbl". */
-#define ICOM_VFIELD_MULTI_NAME(iface) iface##_vtbl
-
-/* Returns the offset of a vtable pointer within an implementation object. */
-#define ICOM_VFIELD_OFFSET(impltype, iface) \
- offsetof(impltype, ICOM_VFIELD_MULTI_NAME(iface))
-
/* Given an interface pointer, returns the implementation pointer. */
#define ICOM_OBJECT(impltype, ifacename, ifaceptr) \
(impltype*)((ifaceptr) == NULL ? NULL \
- : (char*)(ifaceptr) - ICOM_VFIELD_OFFSET(impltype,ifacename))
+ : (char*)(ifaceptr) - offsetof(impltype, ifacename##_vtbl))
#define ICOM_THIS_FROM(impltype, ifacename, ifaceptr) \
impltype* This = ICOM_OBJECT(impltype, ifacename, ifaceptr)
#define COM_INTERFACE_CAST(impltype, ifnamefrom, ifnameto, ifaceptr) \
((ifaceptr) ? (ifnameto *)&(((impltype *)((char *)(ifaceptr) \
- - ICOM_VFIELD_OFFSET(impltype, ifnamefrom)))->ICOM_VFIELD_MULTI_NAME(ifnameto)) : NULL)
+ - offsetof(impltype, ifnamefrom##_vtbl)))->ifnameto##_vtbl) : NULL)
#endif /* _DDCOMIMPL_H_ */
--
1.6.0.6
--------------080504070308040806040805--
More information about the wine-patches
mailing list