That's a different algorithm for testing than the one I (or mIRC) provided. ctype_upper is checking that all alpha characters are upper-case, not that the bytes are equal to an uppercased version of the string.

Either way, you end up with either a double-positive or a double-negative.. they are both equally meaningful and equally meaningless, since you're saying nothing about the string "5" (it's neither uppercase nor lowercase-- it's both uppercase and lowercase).

- argv[0] on EFnet #mIRC
- "Life is a pointer to an integer without a cast"