Greetings all,
In the code below, can someone explain the char ** line?
I think it assigns the value 0 to an astructure[foo] array element. I just don't understand why char in (char **) is used. It is causing gcc to barf up a "dereferencing type-punned pointer will break strict aliasing rules" warning. I could type-cast it again to void, however I dont know why it was casted to char to begin with. The segment of code is part of a huge project I am working on, that is quite established.
Code:
struct mystruct
{
u_int16_t foo;
u_int16_t bar;
};
struct mystruct *astructure;
(*(char **)&astructure)[foo] =0;