mirror of
https://github.com/falk-werner/webfuse-provider
synced 2026-03-02 04:09:18 +00:00
chore(WF_CONTAINER_OF): makes WF_CONTAINER_OF use typeof, if available (#26)
* makes WF_CONTAINER_OF use typeof, if available * convertss WF_CONTAINER_OF to lower case * fixes include guard
This commit is contained in:
@@ -7,7 +7,15 @@
|
||||
#include <cstddef>
|
||||
#endif
|
||||
|
||||
#define WF_CONTAINER_OF(pointer, type, member) \
|
||||
#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
|
||||
|
||||
@@ -9,7 +9,7 @@ void wf_message_queue_cleanup(
|
||||
while (NULL != item)
|
||||
{
|
||||
struct wf_slist_item * next = item->next;
|
||||
struct wf_message * message = WF_CONTAINER_OF(item, struct wf_message, item);
|
||||
struct wf_message * message = wf_container_of(item, struct wf_message, item);
|
||||
wf_message_dispose(message);
|
||||
item = next;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user