From 0a6782b6bbf6b5d509ba0851659986afdd60b372 Mon Sep 17 00:00:00 2001 From: Oskari Timperi Date: Sun, 25 May 2014 12:57:45 +0300 Subject: misc --- src/uvh.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/uvh.c b/src/uvh.c index 42dba30..4353b3e 100644 --- a/src/uvh.c +++ b/src/uvh.c @@ -10,10 +10,13 @@ #ifndef container_of #ifdef __GNUC__ -#define container_of(ptr, type, member) ({ \ - const typeof( ((type *)0)->member ) *__mptr = (ptr); \ - (type *)( (char *)__mptr - offsetof(type,member) );}) +#define member_type(type, member) __typeof__ (((type *)0)->member) +#else +#define member_type(type, member) const void #endif + +#define container_of(ptr, type, member) ((type *)( \ + (char *)(member_type(type, member) *){ ptr } - offsetof(type, member))) #endif #define LOG(LEVEL, FMT, args...) \ -- cgit v1.2.3