1 #ifndef strings_h 2 #define strings_h 3 4 /* MSVC doesn't define ffs/ffsl. This dummy strings.h header is provided 5 * for both */ 6 #include <intrin.h> 7 #pragma intrinsic(_BitScanForward) ffsl(long x)8static __forceinline int ffsl(long x) 9 { 10 unsigned long i; 11 12 if (_BitScanForward(&i, x)) 13 return (i + 1); 14 return (0); 15 } 16 ffs(int x)17static __forceinline int ffs(int x) 18 { 19 20 return (ffsl(x)); 21 } 22 23 #endif 24