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;