- for (uns var##_lo=0; ary[var##_hi]; var##_lo++) \
- if (ary[var##_hi] & (1 << var##_lo)) \
- { \
- uns var = 32*var##_hi + var##_lo; \
- ary[var##_hi] &= ~(1 << var##_lo); \
+ { \
+ u32 var##_cur = ary[var##_hi]; \
+ for (uns var = 32 * var##_hi; var##_cur; var++, var##_cur >>= 1) \
+ if (var##_cur & 1) \