Be sure to use internal __ffs, not glibc variant
[fio.git] / lib / ffz.h
index 4324f5a3c67b378b93bda2201c937164f5d43477..e17a2e9c0a1e7cd60f3e99b8989ecc61bebed806 100644 (file)
--- a/lib/ffz.h
+++ b/lib/ffz.h
@@ -3,7 +3,7 @@
 
 static inline int __ffs(int word)
 {
-       int r = 1;
+       int r = 0;
 
        if (!(word & 0xffff)) {
                word >>= 16;
@@ -31,7 +31,7 @@ static inline int __ffs(int word)
 
 static inline int ffz(unsigned int bitmask)
 {
-       return ffs(~bitmask) - 1;
+       return __ffs(~bitmask);
 }
 
 #endif