summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorPaul Jakma <paul.jakma@sun.com>2007-08-06 18:52:45 +0000
committerPaul Jakma <paul.jakma@sun.com>2007-08-06 18:52:45 +0000
commit7591d8b862439dfae8b4b16d148ce567b6ff8cb7 (patch)
treeb9d24293663be04e4c80bcd78f8d1f5e86c2c3f1 /lib
parentfc787e873dff0091069742b34fb3631ac529c92a (diff)
[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
Diffstat (limited to 'lib')
-rw-r--r--lib/ChangeLog4
-rw-r--r--lib/pqueue.c2
-rw-r--r--lib/pqueue.h1
3 files changed, 6 insertions, 1 deletions
diff --git a/lib/ChangeLog b/lib/ChangeLog
index 41689d03..ee329114 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 a974a49e..12a779f2 100644
--- a/lib/pqueue.c
+++ b/lib/pqueue.c
@@ -42,7 +42,7 @@ Boston, MA 02111-1307, USA. */
#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 1f3201b9..be37f98d 100644
--- a/lib/pqueue.h
+++ b/lib/pqueue.h
@@ -40,5 +40,6 @@ extern void pqueue_enqueue (void *data, struct pqueue *queue);
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 */