mindex.c

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

commit 21dde8e12869516e1f3f465db10aeab0cf00f4d6
parent bedb286c642d2a604ddc3555b4308f076e0c694a
Author: finwo <finwo@pm.me>
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