X-Git-Url: http://git.efficios.com/?p=babeltrace.git;a=blobdiff_plain;f=include%2Fbabeltrace%2Fprio_heap.h;h=b3e2491e519b9be5e86409b54f89a3985397cafb;hp=51cdac56c26d693a9a655f2318c8b81d3e2c67b8;hb=96e1cf269c09a34129404b430f1a5d158adf3a57;hpb=1eb0c69cf759f535b1a926e667ae3f3aed486c9f diff --git a/include/babeltrace/prio_heap.h b/include/babeltrace/prio_heap.h index 51cdac56..b3e2491e 100644 --- a/include/babeltrace/prio_heap.h +++ b/include/babeltrace/prio_heap.h @@ -21,6 +21,7 @@ */ #include +#include struct ptr_heap { size_t len, alloc_len; @@ -28,6 +29,15 @@ struct ptr_heap { int (*gt)(void *a, void *b); }; +#ifdef DEBUG_HEAP +void check_heap(const struct ptr_heap *heap); +#else +static inline +void check_heap(const struct ptr_heap *heap) +{ +} +#endif + /** * heap_maximum - return the largest element in the heap * @heap: the heap to be operated on @@ -37,7 +47,8 @@ struct ptr_heap { */ static inline void *heap_maximum(const struct ptr_heap *heap) { - return heap->len ? heap->ptrs[0] : NULL; + check_heap(heap); + return likely(heap->len) ? heap->ptrs[0] : NULL; } /**