Argh, in C, comparisons against true (TRUE) or false (FALSE) are even worse style. Indeed, in C, defining TRUE == 1 is erroneous, because in C anything that is zero is false, anything that is non-zero is true. So in C, code such as
if (a == TRUE)
is a bug. Any non-zero value represents true, but this comparison only tests for a == 1.
Comparisons against FALSE are OK, but flawed logic. It is anyway a boolean, so why not just test directly?
if (a)
In C, you should *never* do a comparison against TRUE. If you really want to do a comparison against a boolean value (which is never necessary, but perhaps, in some cases, might be a useful form of documenting your intent), compare against FALSE. eg,
if (a == FALSE)
if (a != FALSE) // the proper way of comparing a == TRUE