@yifanlu: nevermind, there was absolutely no bad intention. I was just "WTF, this should work, but it doesn't. I come up with a hack". Then on 11.10: "WTF, I added my other dirty hack, and it still just crashes with no indication whatsoever where the problem lies". So much about portable C, haha.
... and to something completely different, namely a (not-so-serious) approach at C and C++ things, but one which I employ successfully: "If it doesn't work, try adding an asterisk. If it still wont' work, try another asterisk, or maybe an ampersand.". Oversimplified of course, but pretty fitting.