Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
remove_at already frees the element if last argument equals to NULL, so do not duppli...
[simgrid.git] / src / xbt / dynar.c
index 4e89515..7a567b9 100644 (file)
@@ -432,7 +432,7 @@ xbt_dynar_search(xbt_dynar_t  const dynar,
                 void        *const elem) {
   int it;
    
-  for (it=0; it< dynar->size; it++) 
+  for (it=0; it< dynar->used; it++) 
     if (!memcmp(_xbt_dynar_elm(dynar, it),elem,dynar->elmsize))
       return it;
 
@@ -597,25 +597,8 @@ xbt_dynar_cursor_get(const xbt_dynar_t dynar,
  */
 void xbt_dynar_cursor_rm(xbt_dynar_t dynar,
                          int          * const cursor) {
-  void *dst;
-
-  if (dynar->elmsize > sizeof(void*)) {
-    DEBUG0("Elements too big to fit into a pointer");
-    if (dynar->free_f) {
-      dst=xbt_malloc(dynar->elmsize);
-      xbt_dynar_remove_at(dynar,(*cursor)--,dst);
-      (dynar->free_f)(dst);
-      free(dst);
-    } else {
-      DEBUG0("Ok, we dont care about the element without free function");
-      xbt_dynar_remove_at(dynar,(*cursor)--,NULL);
-    }
-      
-  } else {
-    xbt_dynar_remove_at(dynar,(*cursor)--,&dst);
-    if (dynar->free_f)
-      (dynar->free_f)(dst);
-  }
+  
+  xbt_dynar_remove_at(dynar,(*cursor)--,NULL);
 }
 
 #ifdef SIMGRID_TEST