Beautify the container_of macro
[jansson.git] / src / jansson_private.h
index 4490702..6d7e46c 100644 (file)
@@ -8,11 +8,12 @@
 #ifndef JANSSON_PRIVATE_H
 #define JANSSON_PRIVATE_H
 
+#include <stddef.h>
 #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;