From d0a89044f5807dfa65f19c45dc86ed710b571b51 Mon Sep 17 00:00:00 2001 From: Gregory Lirent Date: Fri, 10 Jun 2022 21:22:52 +0300 Subject: [PATCH 1/2] Fix set & map (extra) find --- src/map/extra.c | 4 ++-- src/set/extra.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/map/extra.c b/src/map/extra.c index 0c553e1..b657db3 100644 --- a/src/map/extra.c +++ b/src/map/extra.c @@ -59,7 +59,7 @@ int libcdsb_map_find(map_t* x, const void* k, vtype t, void* _, map_access_callb while (!mnode_is_empty(c)) { key = vnode_peek(&c->key, x->type); - cmp = vtype_compare(key, x->type, k, t); + cmp = vtype_compare(k, t, key, x->type); if (cmp == 0) { cmp = (callback) ? callback(key, x->type, vnode_peek(&c->value, c->type), c->type, _) : 0; @@ -72,7 +72,7 @@ int libcdsb_map_find(map_t* x, const void* k, vtype t, void* _, map_access_callb } return cmp; - } + } else c = (cmp < 0) ? c->left : c->right; } return -1; diff --git a/src/set/extra.c b/src/set/extra.c index d58056f..44bce68 100644 --- a/src/set/extra.c +++ b/src/set/extra.c @@ -51,7 +51,7 @@ int libcdsb_vset_find(vtype_set* x, const void* v, vtype t, void* _, vset_access while (!rbnode_is_empty(c)) { val = vnode_peek(&c->value, x->type); - cmp = vtype_compare(val, x->type, v, t); + cmp = vtype_compare(v, t, val, x->type); if (cmp == 0) { cmp = (callback) ? callback(val, x->type, _) : 0; @@ -63,7 +63,7 @@ int libcdsb_vset_find(vtype_set* x, const void* v, vtype t, void* _, vset_access } return cmp; - } + } else c = (cmp < 0) ? c->left : c->right; } return -1; From 62dff9b10305d6d85014b385e1fced46d7d2e749 Mon Sep 17 00:00:00 2001 From: Gregory Lirent Date: Fri, 10 Jun 2022 21:23:01 +0300 Subject: [PATCH 2/2] Update list copy --- src/list/copy.c | 1 - 1 file changed, 1 deletion(-) diff --git a/src/list/copy.c b/src/list/copy.c index b790652..ba45032 100644 --- a/src/list/copy.c +++ b/src/list/copy.c @@ -112,7 +112,6 @@ void list_extend(list_t* x, const list_t* s) { size_t list_slice(list_t* x, list_t* s, ssize_t i, size_t n, _Bool cut) { - ldir_t dir; lnode_t* c; lnode_t* e; size_t r;