diff options
-rw-r--r-- | src/misc/ffs.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/src/misc/ffs.c b/src/misc/ffs.c index 2f7cb321..673ce5a9 100644 --- a/src/misc/ffs.c +++ b/src/misc/ffs.c @@ -1,9 +1,7 @@ #include <strings.h> +#include "atomic.h" int ffs(int i) { - unsigned int j = i; - for (i=1; j && !(j&1); j>>=1, i++); - if (j) return i; - return 0; + return i ? a_ctz_l(i)+1 : 0; } |