commit e2eceeaef8b4365892f23be1730163548c540711
parent b381053867398519899361ff39a056da5a4e7eca
Author: finwo <finwo@pm.me>
Date: Sun, 18 Feb 2024 20:50:45 +0100
Added mindex_nth method
Diffstat:
2 files changed, 8 insertions(+), 0 deletions(-)
diff --git a/src/mindex.c b/src/mindex.c
@@ -146,6 +146,13 @@ void * mindex_get(struct mindex_t *mindex, void *pattern) {
return value;
}
+void * mindex_nth(struct mindex_t *mindex, int index) {
+ if (index >= mindex->length) {
+ return NULL;
+ }
+ return mindex->items[index];
+}
+
void * mindex_rand(struct mindex_t *mindex) {
if (!mindex->length) {
return NULL;
diff --git a/src/mindex.h b/src/mindex.h
@@ -15,6 +15,7 @@ struct mindex_t {
struct mindex_t * mindex_init(int (*compare)(const void *a, const void *b, void *udata), void (*purge)(void *item, void *udata), void *udata);
void mindex_set(struct mindex_t *mindex, void *item);
void * mindex_get(struct mindex_t *mindex, void *pattern);
+void * mindex_nth(struct mindex_t *mindex, int index);
void * mindex_rand(struct mindex_t *mindex);
void mindex_delete(struct mindex_t *mindex, void *pattern);
size_t mindex_length(struct mindex_t *mindex);