Merge branch 'offsetof' into 'master'

internals: Use Standard C offsetof macro if available

See merge request dbus/dbus!237
This commit is contained in:
Simon McVittie 2021-12-13 12:44:08 +00:00
commit 53085931a4

View file

@ -193,8 +193,13 @@ void _dbus_real_assert_not_reached (const char *explanation,
#define _DBUS_ZERO(object) (memset (&(object), '\0', sizeof ((object))))
#ifdef offsetof
#define _DBUS_STRUCT_OFFSET(struct_type, member) \
(offsetof (struct_type, member))
#else
#define _DBUS_STRUCT_OFFSET(struct_type, member) \
((intptr_t) ((unsigned char*) &((struct_type*) 0)->member))
#endif
#define _DBUS_ALIGNOF(type) \
(_DBUS_STRUCT_OFFSET (struct { char _1; type _2; }, _2))