История изменений
Исправление hateyoufeel, (текущая версия) :
struct Coord {
int x, y;
struct mylist __list_link__;
};
Лучше поменяй местами данные и кишки списка, чтобы можно было без проблем кастовать указатель туда-обратно. Тогда вот этот треш не будет нужен.
#define MYLIST_GET_STRUCT(type, ptr) \
((type*)((size_t)(ptr) - ((size_t)(&((type*)0)->__list_link__))))
Исходная версия hateyoufeel, :
struct Coord {
int x, y;
struct mylist __list_link__;
};
Лучше поменяй местами данные и кишки списка, чтобы можно было без проблем кастовать указатель туда-обратно.