#include <ccan/container_of/container_of.h> | |
#include <stdlib.h> | |
struct foo { | |
int a; | |
char b; | |
}; | |
int main(int argc, char *argv[]) | |
{ | |
struct foo foo = { .a = 1, .b = 2 }; | |
int *intp = &foo.a; | |
char *p; | |
#ifdef FAIL | |
/* p is a char *, but this gives a struct foo * */ | |
p = container_of(intp, struct foo, a); | |
#else | |
p = (char *)intp; | |
#endif | |
return p == NULL; | |
} |