unsigned int buggy (unsigned int *param) { unsigned int accu, zero = 0, borrow; accu = - *param; borrow = - (accu > zero); *param += accu; return borrow; } int main (void) { unsigned int param = 1; unsigned int borrow = buggy (¶m); if (param != 0) abort (); if (borrow + 1 != 0) abort (); return 0; }