typo
[libfirm] / ir / adt / pqueue.c
index 1f9999b..3e28ace 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 1995-2008 University of Karlsruhe.  All right reserved.
+ * Copyright (C) 1995-2011 University of Karlsruhe.  All right reserved.
  *
  * This file is part of libFirm.
  *
@@ -27,6 +27,7 @@
 
 #include "array.h"
 #include "pqueue.h"
+#include "error.h"
 
 /*
  * Implements a heap.
  *
  */
 
-typedef struct _pqueue_el_t {
+typedef struct pqueue_el_t {
        void *data;
        int  priority;
 } pqueue_el_t;
 
-struct _pqueue_t {
+struct pqueue_t {
        pqueue_el_t *elems;
 };
 
@@ -58,13 +59,13 @@ struct _pqueue_t {
  * Enforces the heap characteristics if the queue
  * starting from element at position @p pos.
  */
-static void pqueue_heapify(pqueue_t *q, unsigned pos)
+static void pqueue_heapify(pqueue_t *q, size_t pos)
 {
-       unsigned len = ARR_LEN(q->elems);
+       size_t len = ARR_LEN(q->elems);
 
        while (pos * 2 < len) {
                pqueue_el_t tmp;
-               unsigned    exchange = pos;
+               size_t      exchange = pos;
 
                if (q->elems[exchange].priority < q->elems[pos * 2].priority) {
                        exchange = pos * 2;
@@ -89,9 +90,9 @@ static void pqueue_heapify(pqueue_t *q, unsigned pos)
 /**
  * Sifts up a newly inserted element at position @p pos.
  */
-static void pqueue_sift_up(pqueue_t *q, unsigned pos)
+static void pqueue_sift_up(pqueue_t *q, size_t pos)
 {
-       while(q->elems[pos].priority > q->elems[pos / 2].priority) {
+       while (q->elems[pos].priority > q->elems[pos / 2].priority) {
                pqueue_el_t tmp;
 
                tmp               = q->elems[pos];
@@ -129,18 +130,15 @@ void pqueue_put(pqueue_t *q, void *data, int priority)
 
 void *pqueue_pop_front(pqueue_t *q)
 {
-       switch(ARR_LEN(q->elems)) {
+       switch (ARR_LEN(q->elems)) {
                case 0:
-                       assert(0 && "Attempt to retrieve element from empty priority queue.");
-                       return NULL;
-                       break;
+                       panic("Attempt to retrieve element from empty priority queue.");
                case 1:
                        ARR_SHRINKLEN(q->elems, 0);
                        return q->elems[0].data;
-                       break;
                default: {
-                       void *data = q->elems[0].data;
-                       int  len   = ARR_LEN(q->elems) - 1;
+                       void   *data = q->elems[0].data;
+                       size_t len   = ARR_LEN(q->elems) - 1;
 
                        q->elems[0] = q->elems[len];
                        ARR_SHRINKLEN(q->elems, len);
@@ -151,7 +149,7 @@ void *pqueue_pop_front(pqueue_t *q)
        }
 }
 
-int pqueue_length(const pqueue_t *q)
+size_t pqueue_length(const pqueue_t *q)
 {
        return ARR_LEN(q->elems);
 }