--- libecb/ecb.h 2011/06/17 16:03:01 1.47 +++ libecb/ecb.h 2011/06/17 16:17:26 1.48 @@ -147,7 +147,7 @@ { int r = 0; - x &= (uint32_t)-(int32_t)x; /* this isolates the lowest bit */ + x &= ~x + 1; /* this isolates the lowest bit */ if (x & 0xaaaaaaaa) r += 1; if (x & 0xcccccccc) r += 2;