X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/11c89cce51496fc517db7fc3485de5ba2b328217..bce15ff3e6e8662b2586202122bbd2698a57abe2:/src/xbt/heap.c diff --git a/src/xbt/heap.c b/src/xbt/heap.c index 5bd06f3d8a..2d4964aa5f 100644 --- a/src/xbt/heap.c +++ b/src/xbt/heap.c @@ -158,18 +158,19 @@ void *xbt_heap_remove(xbt_heap_t H, int i) return xbt_heap_pop(H); } + /** @brief Remove an arbitrary element from the heap - * @param H the heap we're working on - * @param content the object you want to add to the heap - * @param key the key associated to this object + * \param H the heap we're working on + * \param content the object you want to remove from the heap + * \param key the key associated to this object + * \return the removed element if found, NULL otherwise */ -void xbt_heap_rm_elm(xbt_heap_t H, void *content, double key) { +void *xbt_heap_rm_elm(xbt_heap_t H, void *content, double key) +{ int i=0; while (i < H->count && (KEY(H, i) != key || CONTENT(H, i) != content)) i++; - if (i == H->count) - return; - xbt_heap_remove(H,i); + return xbt_heap_remove(H, i); } /**