about summary refs log tree commit diff
path: root/src/misc
diff options
context:
space:
mode:
Diffstat (limited to 'src/misc')
-rw-r--r--src/misc/ffs.c6
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;
 }