Integer used as boolean
Older C code did not have a boolean type. Instead, integers were used. Comparisions for true or false were represented as integer comparisons: 0 meant false, >0 meant true.
Example 3. Integers substitutes for boolean
int x = 100;
if (0) { // not reached }
if (42) { // reached }
if (x==4) { // not reached }
if (x) { // reached }
while (x--) { // 100 times reached }
if (x=100) { // reached but most likely a BUG }