diff options
author | jcid <devnull@localhost> | 2007-10-29 23:18:25 +0100 |
---|---|---|
committer | jcid <devnull@localhost> | 2007-10-29 23:18:25 +0100 |
commit | ffb17459b3ccb49ae0cfbe5ae2cd8d63a458d5d5 (patch) | |
tree | 0c3080b18b37b2fd6230c56a385f7500291d06cf /src/klist.c | |
parent | 989a4d35b5f43bc72bfd930d409362fbc1a48a3f (diff) |
Fixed a subtle bug in klist that was affecting IO.
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; } |