Well, unless you require C99, C doesn't really have a boolean type; any non-zero integer value is true, and 0 is false. IMO, this is fairly understandable.