L
luserXtrog
Another gem from the archive, ISOfied.
#include <stdio.h>
int main() {
char s[0];
int i;
i = 0x12345678;
s[0] = 'a';
printf("i = 0x%08x\n",i);
}
625(1)01:16 AM:~ 0> vi overlay.c
626(1)01:16 AM:~ 0> make overlay
cc overlay.c -o overlay
627(1)01:17 AM:~ 0> overlay
i = 0x12345661
628(1)01:17 AM:~ 15>
Looks like I'm little-endian. Flip those eggs!
Surely this is a violation of something. But doesn't
it pretty much have to be equivalent to assigning
through a reinterpreted pointer?
#include <stdio.h>
int main() {
char s[0];
int i;
i = 0x12345678;
s[0] = 'a';
printf("i = 0x%08x\n",i);
}
625(1)01:16 AM:~ 0> vi overlay.c
626(1)01:16 AM:~ 0> make overlay
cc overlay.c -o overlay
627(1)01:17 AM:~ 0> overlay
i = 0x12345661
628(1)01:17 AM:~ 15>
Looks like I'm little-endian. Flip those eggs!
Surely this is a violation of something. But doesn't
it pretty much have to be equivalent to assigning
through a reinterpreted pointer?