Saurabh Jain asked: are you sure x&y == x&&y???
Am I missing something? Pedro's reply: Shyan Lam, thinking that I mistyped, meant that: if ((x && y) == true) may be shortened to: if (x && y) But my bug was to think that: if (x&y) is equivalent to: if ((x&y)==true) My opinion is that the ISO committee made a bad decision when it defined the boolean type at 6.3.1.2 but defined the macro true to be the integer 1 at 7.16ยง3 . The macro true should be of type boolean, not an integer, and to compare between an integer and a boolean without casting should generate a warning. ____________________________________________________________________________________Building a website is a piece of cake. Yahoo! Small Business gives you all the tools to get online. http://smallbusiness.yahoo.com/webhosting