diff options
Diffstat (limited to 'src/klist.c')
-rw-r--r-- | src/klist.c | 11 |
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; } |