in C soll man statt "a == TRUE" auch mal eher "a != FALSE" verwenden; FALSE ist immer 0, TRUE aber manchmal 1, manchmal -1, 0xFF,... irgendwas ungleich 0 eben.