[ospfd] Fix bad SPF calculation on some topologies - incorrect sorting

2007-08-07 Atis Elsts <atis@mikrotik.com>

	* ospf_spf.c: (ospf_spf_next) Sort heap in correct direction
	  after vertex cost is changed, thus fixing incorrect SPF
	  calculation on certain topologies.
	* lib/pqueue.{c,h}: Export trickle_up
diff --git a/lib/ChangeLog b/lib/ChangeLog
index 41689d0..ee32911 100644
--- a/lib/ChangeLog
+++ b/lib/ChangeLog
@@ -1,3 +1,7 @@
+2007-07-06 Atis Elsts <atis@mikrotik.com>
+
+	* pqueue.{c,h}: Export trickle_up
+
 2007-07-26  Paul Jakma <paul.jakma@sun.com>
 
 	* log.c: (mes_lookup) warning about code not being in same-number
diff --git a/lib/pqueue.c b/lib/pqueue.c
index a974a49..12a779f 100644
--- a/lib/pqueue.c
+++ b/lib/pqueue.c
@@ -42,7 +42,7 @@
 #define RIGHT_OF(x) (2 * x + 2)
 #define HAVE_CHILD(x,q) (x < (q)->size / 2)
 
-static void
+void
 trickle_up (int index, struct pqueue *queue)
 {
   void *tmp;
diff --git a/lib/pqueue.h b/lib/pqueue.h
index 1f3201b..be37f98 100644
--- a/lib/pqueue.h
+++ b/lib/pqueue.h
@@ -40,5 +40,6 @@
 extern void *pqueue_dequeue (struct pqueue *queue);
 
 extern void trickle_down (int index, struct pqueue *queue);
+extern void trickle_up (int index, struct pqueue *queue);
 
 #endif /* _ZEBRA_PQUEUE_H */