diff --git a/src/song.h b/src/song.h index 119d89ccd..6ac036953 100644 --- a/src/song.h +++ b/src/song.h @@ -23,6 +23,8 @@ #include "util/list.h" #include "gcc.h" +#include + #include #include #include diff --git a/src/util/list.h b/src/util/list.h index 28c70954f..73d99befa 100644 --- a/src/util/list.h +++ b/src/util/list.h @@ -25,8 +25,6 @@ #ifndef _LINUX_LIST_H #define _LINUX_LIST_H -#include - #ifdef __clang__ /* allow typeof() */ #pragma GCC diagnostic ignored "-Wlanguage-extension-token" @@ -40,7 +38,7 @@ * */ #define container_of(ptr, type, member) \ - (&G_STRUCT_MEMBER(type, ptr, -G_STRUCT_OFFSET(type, member))) + ((type *)((uint8_t *)ptr - offsetof(type, member))) /* * These are non-NULL pointers that will result in page faults