Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Add path for cgraph by default ou by user.
[simgrid.git] / src / xbt / setset.c
index 5c63ee0..16986fe 100644 (file)
@@ -3,6 +3,24 @@
 #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 XBT_INLINE ffs(int x)
+       {
+               int r;
+               __asm{
+                       mov ecx, [x]
+                       bsf eax, ecx
+                       jnz ffs1
+                       mov eax, -1
+                       ffs1:
+                       mov[r],eax
+               }
+               return(r);
+       }
+#endif
 
 /**
  *  \brief Create a new setset data structure
@@ -44,9 +62,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);