From 519d52e2bb6a3840100a84e826d8d8ac91e2d3d8 Mon Sep 17 00:00:00 2001 From: Petri Lehtinen Date: Thu, 12 Aug 2010 21:34:02 +0300 Subject: [PATCH] Beautify the container_of macro Use offsetof instead of zero pointer dereference trickery. --- src/jansson_private.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/jansson_private.h b/src/jansson_private.h index 4490702..6d7e46c 100644 --- a/src/jansson_private.h +++ b/src/jansson_private.h @@ -8,11 +8,12 @@ #ifndef JANSSON_PRIVATE_H #define JANSSON_PRIVATE_H +#include #include "jansson.h" #include "hashtable.h" #define container_of(ptr_, type_, member_) \ - ((type_ *)((char *)ptr_ - (size_t)&((type_ *)0)->member_)) + ((type_ *)((char *)ptr_ - offsetof(type_, member_))) typedef struct { json_t json; -- 2.1.4