--- cache_pqueue.1.14.c	Mon Nov 03 15:02:35 2003
+++ cache_pqueue-1.15.c	Mon Nov 03 15:01:45 2003
@@ -134,7 +134,7 @@
     long moving_pri = q->pri(moving_node);
 
     for (parent_node = parent(i);
-         ((i > 1) && (q->pri(q->d[parent_node]) < moving_pri));
+         ((i > 1) && (q->pri(q->d[parent_node]) > moving_pri));
          i = parent_node, parent_node = parent(i))
     {
         q->d[i] = q->d[parent_node];
@@ -153,7 +153,7 @@
         return 0;
 
     if ((child_node+1 < q->size) &&
-        (q->pri(q->d[child_node+1]) > q->pri(q->d[child_node])))
+        (q->pri(q->d[child_node+1]) < q->pri(q->d[child_node])))
     {
         child_node++; /* use right child instead of left */
     }
@@ -168,7 +168,7 @@
     long moving_pri = q->pri(moving_node);
 
     while ((child_node = maxchild(q, i)) &&
-           (moving_pri < q->pri(q->d[child_node])))
+           (moving_pri > q->pri(q->d[child_node])))
     {
         q->d[i] = q->d[child_node];
         q->set(q->d[i], i);
@@ -225,7 +225,7 @@
 {
     apr_ssize_t posn = q->get(d);
     q->d[posn] = q->d[--q->size];
-    if (q->pri(q->d[posn]) > q->pri(d))
+    if (q->pri(q->d[posn]) < q->pri(d))
         cache_pq_bubble_up(q, posn);
     else
         cache_pq_percolate_down(q, posn);
@@ -311,14 +311,14 @@
 {
     if (left(pos) < q->size) {
         /* has a left child */
-        if (q->pri(q->d[pos]) < q->pri(q->d[left(pos)]))
+        if (q->pri(q->d[pos]) > q->pri(q->d[left(pos)]))
             return 0;
         if (!cache_pq_subtree_is_valid(q, left(pos)))
             return 0;
     }
     if (right(pos) < q->size) {
         /* has a right child */
-        if (q->pri(q->d[pos]) < q->pri(q->d[right(pos)]))
+        if (q->pri(q->d[pos]) > q->pri(q->d[right(pos)]))
             return 0;
         if (!cache_pq_subtree_is_valid(q, right(pos)))
             return 0;
