1
0
mirror of https://github.com/falk-werner/webfuse synced 2025-06-13 12:54:15 +00:00

makes WF_CONTAINER_OF use typeof, if available

This commit is contained in:
Falk Werner 2019-04-18 19:21:07 +02:00
parent 3a7c064af7
commit c14ad18ca8

View File

@ -7,7 +7,15 @@
#include <cstddef>
#endif
#ifdef __GNUC__
#define WF_CONTAINER_OF(pointer, type, member) \
({ \
const typeof( ((type *)0)->member ) * __member = (pointer); \
(type *)( (char *)__member - offsetof(type, member) ); \
})
#else
#define WF_CONTAINER_OF(pointer, type, member) \
(type *) (((char *) pointer) - offsetof(type, member))
#endif
#endif