mindex.c

In-memory ordered store and fetch library
git clone git://git.finwo.net/lib/mindex.c
Log | Files | Refs | README | LICENSE

commit 2045f20b3449eb9b5e05929a609d079311004a51
parent 975fdc61c00a14f7ef67650a9eb2ea463d85024d
Author: Robin Bron <robin@finwo.nl>
Date:   Thu,  9 Mar 2023 23:02:32 +0100

Handle delete of non-existing pattern

Diffstat:
Msrc/mindex.c | 7+++++--
1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/src/mindex.c b/src/mindex.c @@ -139,9 +139,12 @@ void * mindex_rand(struct mindex_t *mindex) { void mindex_delete(struct mindex_t *mindex, void *pattern) { int idx = mindex_get_internal(mindex->items, mindex->length, pattern, mindex->compare, mindex->udata); - void *item = mindex->items[idx]; + if (idx < 0) { + return; + } - // Purge if not an exact match + // Call user's purge method + void *item = mindex->items[idx]; mindex->purge(item, mindex->udata); // Move everything on it's right to it