Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Return whether an item was removed or not when trying to remove a value in a fifo.
authoralegrand <alegrand@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Sat, 4 Aug 2007 21:48:43 +0000 (21:48 +0000)
committeralegrand <alegrand@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Sat, 4 Aug 2007 21:48:43 +0000 (21:48 +0000)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@3952 48e7efb5-ca39-0410-a469-dd3cf9ba447f

include/xbt/fifo.h
src/xbt/fifo.c

index dacb28a..c63c371 100644 (file)
@@ -65,7 +65,7 @@ XBT_PUBLIC(xbt_fifo_item_t) xbt_fifo_pop_item(xbt_fifo_t);
 XBT_PUBLIC(void) xbt_fifo_unshift_item(xbt_fifo_t, xbt_fifo_item_t);
 XBT_PUBLIC(xbt_fifo_item_t) xbt_fifo_shift_item(xbt_fifo_t);
 
 XBT_PUBLIC(void) xbt_fifo_unshift_item(xbt_fifo_t, xbt_fifo_item_t);
 XBT_PUBLIC(xbt_fifo_item_t) xbt_fifo_shift_item(xbt_fifo_t);
 
-XBT_PUBLIC(void) xbt_fifo_remove(xbt_fifo_t, void *);
+XBT_PUBLIC(int) xbt_fifo_remove(xbt_fifo_t, void *);
 XBT_PUBLIC(void) xbt_fifo_remove_item(xbt_fifo_t, xbt_fifo_item_t);
 
 XBT_PUBLIC(xbt_fifo_item_t) xbt_fifo_get_first_item(xbt_fifo_t l);
 XBT_PUBLIC(void) xbt_fifo_remove_item(xbt_fifo_t, xbt_fifo_item_t);
 
 XBT_PUBLIC(xbt_fifo_item_t) xbt_fifo_get_first_item(xbt_fifo_t l);
index 09fed32..f91ab83 100644 (file)
@@ -229,8 +229,9 @@ xbt_fifo_item_t xbt_fifo_shift_item(xbt_fifo_t l)
  *
  * removes the first occurence of \a t from \a l. 
  * \warning it will not remove duplicates
  *
  * removes the first occurence of \a t from \a l. 
  * \warning it will not remove duplicates
+ * \return 1 if an item was removed and 0 otherwise.
  */
  */
-void xbt_fifo_remove(xbt_fifo_t l, void *t)
+int  xbt_fifo_remove(xbt_fifo_t l, void *t)
 {
   xbt_fifo_item_t current, current_next;
 
 {
   xbt_fifo_item_t current, current_next;
 
@@ -243,9 +244,9 @@ void xbt_fifo_remove(xbt_fifo_t l, void *t)
     xbt_fifo_remove_item(l, current);
     xbt_fifo_free_item(current);
     /* WILL NOT REMOVE DUPLICATES */
     xbt_fifo_remove_item(l, current);
     xbt_fifo_free_item(current);
     /* WILL NOT REMOVE DUPLICATES */
-    break;
+    return 1;
   }
   }
-  return;
+  return 0;
 }
 
 /**
 }
 
 /**