Henri Verbeet : ddraw: Get rid of ICOM_VFIELD_MULTI_NAME and ICOM_VFIELD_OFFSET.
Alexandre Julliard
julliard at winehq.org
Wed Jan 21 06:39:42 CST 2009
Module: wine
Branch: master
Commit: 772e56a2d84eee4340765247348c2d164a5c7d05
URL: http://source.winehq.org/git/wine.git/?a=commit;h=772e56a2d84eee4340765247348c2d164a5c7d05
Author: Henri Verbeet <hverbeet at codeweavers.com>
Date: Wed Jan 21 09:56:14 2009 +0100
ddraw: Get rid of ICOM_VFIELD_MULTI_NAME and ICOM_VFIELD_OFFSET.
---
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_ */
More information about the wine-cvs
mailing list