> I would assume that a #if (as opposed to #ifdef or #ifndef) is > referring to a symbol that's defined *somewhere* -- otherwise you'd > get a compile error, right? Nope. Undefined symbols have value 0 in #if. See the standard. One of the really odd things about C, IMHO. -Tim