OSDN Git Service

Define fls() in terms of clz32().
authoraliguori <aliguori@c046a42c-6fe2-441c-8c8c-71466251a162>
Thu, 4 Dec 2008 20:08:06 +0000 (20:08 +0000)
committeraliguori <aliguori@c046a42c-6fe2-441c-8c8c-71466251a162>
Thu, 4 Dec 2008 20:08:06 +0000 (20:08 +0000)
As suggested by Laurent Desnogues.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5872 c046a42c-6fe2-441c-8c8c-71466251a162

cutils.c

index 9f124f5..2d65357 100644 (file)
--- a/cutils.c
+++ b/cutils.c
@@ -22,6 +22,7 @@
  * THE SOFTWARE.
  */
 #include "qemu-common.h"
+#include "host-utils.h"
 
 void pstrcpy(char *buf, int buf_size, const char *str)
 {
@@ -98,11 +99,5 @@ time_t mktimegm(struct tm *tm)
 
 int fls(int i)
 {
-    int bit;
-
-    for (bit=31; bit >= 0; bit--)
-        if (i & (1 << bit))
-            return bit+1;
-
-    return 0;
+    return 32 - clz32(i);
 }