summaryrefslogtreecommitdiff
path: root/src/klist.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/klist.c')
-rw-r--r--src/klist.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/klist.c b/src/klist.c
index 113472b6..b353bb51 100644
--- a/src/klist.c
+++ b/src/klist.c
@@ -18,6 +18,7 @@
* remains with the caller.
*/
+#include "msg.h"
#include "klist.h"
@@ -30,6 +31,14 @@ static int Klist_node_by_key_cmp(const void *Node, const void *key)
}
/*
+ * Compare function for searching data by node
+ */
+static int Klist_node_by_node_cmp(const void *Node1, const void *Node2)
+{
+ return ((KlistNode_t *)Node1)->Key - ((KlistNode_t *)Node2)->Key;
+}
+
+/*
* Return the data pointer for a given Key (or NULL if not found)
*/
void *a_Klist_get_data(Klist_t *Klist, int Key)
@@ -68,7 +77,7 @@ int a_Klist_insert(Klist_t **Klist, void *Data)
Node = dNew(KlistNode_t, 1);
Node->Key = (*Klist)->Counter;
Node->Data = Data;
- dList_insert_sorted((*Klist)->List, Node, Klist_node_by_key_cmp);
+ dList_insert_sorted((*Klist)->List, Node, Klist_node_by_node_cmp);
return (*Klist)->Counter;
}