]> The Tcpdump Group git mirrors - libpcap/blobdiff - optimize.c
Define ffs() in optimize.c; that's all that uses it.
[libpcap] / optimize.c
index dba8edfd955e7b594ca8947b6a3b39147948f8b2..a284d413281f011a400def9c1f6c3dc6be40dce1 100644 (file)
@@ -63,8 +63,26 @@ extern int _w32_ffs (int mask);
 #define ffs _w32_ffs
 #endif
 
+/*
+ * So is the check for _MSC_VER done because MinGW has this?
+ */
 #if defined(_WIN32) && defined (_MSC_VER)
-int ffs(int mask);
+/*
+ * ffs -- vax ffs instruction
+ *
+ * XXX - with versions of VS that have it, use _BitScanForward()?
+ */
+static int
+ffs(int mask)
+{
+       int bit;
+
+       if (mask == 0)
+               return(0);
+       for (bit = 1; !(mask & 1); bit++)
+               mask >>= 1;
+       return(bit);
+}
 #endif
 
 /*