This one was tricky. I think it might be some Cygwin gcc data type issue because "sizeof(illegal_flags)/siezof(illegal_flags[0])" did not work that's why I added the NUM_ILLEGAL_FLAGS define. But I guess you're right, we need to put that array size declaration.

And yes, being a Java person, I get confused with the not so object oriented nature of C. :D