mindex.c

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

commit 870a752df629689603f7021059d56cbfb69c94c2
parent f38b7e928c8c9e888d46aab8c6685297c6690c5a
Author: Yersa Nordman <yersa@finwo.nl>
Date:   Thu,  2 Mar 2023 20:25:04 +0100

Initialized main structure

Diffstat:
A.github/workflows/continuous-integration.yml | 21+++++++++++++++++++++
A.gitignore | 3+++
AMakefile | 19+++++++++++++++++++
Mpackage.ini | 2++
Asrc/mindex.c | 33+++++++++++++++++++++++++++++++++
Asrc/mindex.h | 20++++++++++++++++++++
Atest.c | 3+++
7 files changed, 101 insertions(+), 0 deletions(-)

diff --git a/.github/workflows/continuous-integration.yml b/.github/workflows/continuous-integration.yml @@ -0,0 +1,21 @@ +name: CI + +on: + push: + branches: + - main + pull_request: + - main + +jobs: + + test: + name: Test + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: finwo/dep@edge + - run : dep install + - run : make clean + - run : make + - run : ./test diff --git a/.gitignore b/.gitignore @@ -0,0 +1,3 @@ +/lib/ +*.o +/test diff --git a/Makefile b/Makefile @@ -0,0 +1,19 @@ +SRC:= +SRC+=$(wildcard src/*.c) +SRC+=test.c + +override CFLAGS?=-Wall -g -O2 + +include lib/.dep/config.mk + +override CFLAGS+=$(INCLUDES) + +OBJ=$(SRC:.c=.o) + +test: $(OBJ) + $(CC) $(CFLAGS) $(SRC) -o $@ + +.PHONY: clean +clean: + rm -f $(OBJ) + rm -f test diff --git a/package.ini b/package.ini @@ -1,3 +1,5 @@ +[dependencies] +finwo/assert=https://github.com/finwo/c-assert/archive/refs/tags/edge.tar.gz [package] deps=lib name=finwo/mindex diff --git a/src/mindex.c b/src/mindex.c @@ -0,0 +1,33 @@ +#include "mindex.h" + +struct mindex_t * mindex_init(int (*compare)(const void *a, const void *b, void *udata), void *udata) { + struct mindex_t *mindex = malloc(sizeof(struct mindex_t)); + mindex->compare = compare; + mindex->items = NULL; + mindex->length = 0; + return NULL; +} + +void mindex_set(struct mindex_t *mindex, void *item) { + +} + +void * mindex_get(struct mindex_t *mindex, void *pattern) { + return NULL; +} + +void * mindex_rand(struct mindex_t *mindex) { + return NULL; +} + +void mindex_delete(struct mindex_t *mindex, void *item) { + +} + +size_t mindex_length(struct mindex_t *mindex) { + return 0; +} + +void mindex_free(struct mindex_t *mindex) { + +} diff --git a/src/mindex.h b/src/mindex.h @@ -0,0 +1,20 @@ +#ifndef __FINWO_MINDEX_H__ +#define __FINWO_MINDEX_H__ + +#include <stdlib.h> + +struct mindex_t { + int (*compare)(const void *a, const void *b, void *udata); + size_t length; + void **items; +}; + +struct mindex_t * mindex_init(int (*compare)(const void *a, const void *b, void *udata), void *udata); +void mindex_set(struct mindex_t *mindex, void *item); +void * mindex_get(struct mindex_t *mindex, void *pattern); +void * mindex_rand(struct mindex_t *mindex); +void mindex_delete(struct mindex_t *mindex, void *item); +size_t mindex_length(struct mindex_t *mindex); +void mindex_free(struct mindex_t *mindex); + +#endif // __FINWO_MINDEX_H__ diff --git a/test.c b/test.c @@ -0,0 +1,3 @@ +int main() { + return 42; +}