X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/e5079ae99c91da966852f2a09ba3f1aa123abc11..bd043f62d4d7bf22adb68d5193ec1bb2aaae3c7b:/src/xbt/setset.c diff --git a/src/xbt/setset.c b/src/xbt/setset.c index 16986fe2bb..1e0dd05561 100644 --- a/src/xbt/setset.c +++ b/src/xbt/setset.c @@ -7,18 +7,16 @@ /*The function ffs doesn't exist for windows*/ #ifdef _XBT_WIN32 - int XBT_INLINE ffs(int x) - { - int r; - __asm{ - mov ecx, [x] - bsf eax, ecx - jnz ffs1 - mov eax, -1 - ffs1: - mov[r],eax + int ffs(int bits) + { + int i; + if (bits == 0) + return (0); + for (i = 1; ; i++, bits >>= 1) + { + if (bits & 1) break; } - return(r); + return (i); } #endif