Revert my "microfix". It was caused by misreading code. Gilad is right as
always.
diff --git a/ChangeLog b/ChangeLog
index 635d47d..02f28d4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2003-12-22 Hasso Tepper <hasso@estpak.ee>
+
+	* lib/linklist.c: Revert microfix I commited while reverting 
+	  [quagga-dev 227]. Caused by misreading code.
+
 2003-12-21 Hasso Tepper <hasso@estpak.ee>
 
 	* lib/linklist.c: Revert patch [quagga-dev 227]. listnode_add_sort()
diff --git a/lib/linklist.c b/lib/linklist.c
index 9c1b297..1c95da4 100644
--- a/lib/linklist.c
+++ b/lib/linklist.c
@@ -85,10 +85,6 @@
  * cmp function, insert a new node with the given val such that the
  * list remains sorted.  The new node is always inserted; there is no
  * notion of omitting duplicates.
- * 
- * XXX not sure this is right:
- * It is currently undefined whether new nodes for which cmp returns 0
- * should be added before or after any existing nodes.
  */
 void
 listnode_add_sort (struct list *list, void *val)
@@ -103,8 +99,7 @@
     {
       for (n = list->head; n; n = n->next)
 	{
-	  /* XXX should an "equal" node be inserted before or after? */
-	  if ((*list->cmp) (val, n->data) <= 0)
+	  if ((*list->cmp) (val, n->data) < 0)
 	    {	    
 	      new->next = n;
 	      new->prev = n->prev;