Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Fix an external ref
[simgrid.git] / src / xbt / setset.c
index 5c63ee0..1e0dd05 100644 (file)
@@ -3,6 +3,22 @@
 #include <string.h>
 #include "setset_private.h"
 #include "xbt/sysdep.h"
+#include "simgrid_config.h" /*_XBT_WIN32*/
+
+/*The function ffs doesn't exist for windows*/
+#ifdef _XBT_WIN32
+       int ffs(int bits)
+    {
+               int i;
+               if (bits == 0)
+                       return (0);
+               for (i = 1; ; i++, bits >>= 1)
+               {
+                       if (bits & 1) break;
+               }
+               return (i);
+       }
+#endif
 
 /**
  *  \brief Create a new setset data structure
@@ -44,9 +60,8 @@ void xbt_setset_destroy(xbt_setset_t setset)
 void xbt_setset_elm_add(xbt_setset_t setset, void *obj)
 {
   xbt_setset_elm_entry_t new_entry = NULL;
-  xbt_setset_elm_t e = (xbt_setset_elm_t)obj;
   xbt_setset_elm_entry_t first_elm = NULL;
-
+  xbt_setset_elm_t e = (xbt_setset_elm_t)obj;
   xbt_assert0(e->ID == 0, "Adding element with non NULL ID");
   first_elm = (xbt_setset_elm_entry_t)xbt_dynar_get_ptr(setset->elm_array, 0);