X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/e4abd3f271729beeff499da36267bfb274dd1f6d..3af9dcb5714db015a7038a58701b2b453f52c6ca:/src/xbt/heap.c diff --git a/src/xbt/heap.c b/src/xbt/heap.c index f024b08e98..ac3cafec92 100644 --- a/src/xbt/heap.c +++ b/src/xbt/heap.c @@ -1,6 +1,6 @@ /* a generic and efficient heap */ -/* Copyright (c) 2004, 2005, 2007, 2008, 2009, 2010. The SimGrid Team. +/* Copyright (c) 2004-2005, 2007-2013. The SimGrid Team. * All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it @@ -96,7 +96,7 @@ void xbt_heap_push(xbt_heap_t H, void *content, double key) if (count > size) { H->size = (size << 1) + 1; H->items = - (void *) realloc(H->items, + (void *) xbt_realloc(H->items, (H->size) * sizeof(struct xbt_heap_item)); } @@ -123,11 +123,11 @@ void *xbt_heap_pop(xbt_heap_t H) int size = H->size; void *max; - XBT_DEBUG("Heap has %d elements before extraction and max elem was %g",xbt_heap_size(H),xbt_heap_maxkey(H)); - if (H->count == 0) return NULL; + XBT_DEBUG("Heap has %d elements before extraction and max elem was %g",xbt_heap_size(H),xbt_heap_maxkey(H)); + max = CONTENT(H, 0); items[0] = items[(H->count) - 1]; @@ -136,7 +136,7 @@ void *xbt_heap_pop(xbt_heap_t H) if (H->count < size >> 2 && size > 16) { size = (size >> 1) + 1; H->items = - (void *) realloc(items, + (void *) xbt_realloc(items, size * sizeof(struct xbt_heap_item)); H->size = size; }