libdvec-c

C memory vector library
git clone https://git.sinitax.com/sinitax/libdvec-c
Log | Files | Refs | Submodules | LICENSE | sfeed.txt

commit 43d82dca8b48d67c7223eb1a4d5c7166409aef9e
parent 83df399924762dd234c2b34f14e296bd3590c147
Author: Louis Burda <quent.burda@gmail.com>
Date:   Sun, 21 May 2023 17:47:24 +0200

Update liballoc

Diffstat:
Msrc/dvec.c | 19++++++++++---------
1 file changed, 10 insertions(+), 9 deletions(-)

diff --git a/src/dvec.c b/src/dvec.c @@ -17,7 +17,7 @@ dvec_init(struct dvec *dvec, size_t dsize, size_t cap, dvec->len = 0; dvec->data = NULL; if (dvec->cap) { - dvec->data = allocator->alloc(cap * dsize, &rc); + dvec->data = allocator->alloc(allocator, cap * dsize, &rc); LIBDVEC_ABORT_ON_ALLOC(!dvec->data); if (!dvec->data) return -rc; } @@ -32,7 +32,7 @@ dvec_deinit(struct dvec *dvec) LIBDVEC_ABORT_ON_ARGS(!dvec); - rc = dvec->allocator->free(dvec->data); + rc = dvec->allocator->free(dvec->allocator, dvec->data); LIBDVEC_ABORT_ON_ALLOC(rc); return -rc; @@ -49,7 +49,7 @@ dvec_alloc(size_t dsize, size_t cap, rc = _rc ? _rc : &stub; - dvec = allocator->alloc(sizeof(struct dvec), rc); + dvec = allocator->alloc(allocator, sizeof(struct dvec), rc); LIBDVEC_ABORT_ON_ALLOC(!dvec); if (!dvec) { *rc = -*rc; @@ -58,7 +58,7 @@ dvec_alloc(size_t dsize, size_t cap, *rc = dvec_init(dvec, dsize, cap, allocator); if (*rc) { - allocator->free(dvec); + allocator->free(allocator, dvec); return NULL; } @@ -78,7 +78,7 @@ dvec_free(struct dvec *dvec) rc = dvec_deinit(dvec); if (rc) return rc; - rc = allocator->free(dvec); + rc = allocator->free(allocator, dvec); LIBDVEC_ABORT_ON_ALLOC(rc); if (rc) return -rc; @@ -144,7 +144,8 @@ dvec_reserve(struct dvec *dvec, size_t len) cap = 2 * dvec->cap; if (len > cap) cap = len; - data = dvec->allocator->realloc(dvec->data, cap * dvec->dsize, &rc); + data = dvec->allocator->realloc(dvec->allocator, + dvec->data, cap * dvec->dsize, &rc); LIBDVEC_ABORT_ON_ALLOC(!data); if (!data) return -rc; dvec->data = data; @@ -164,13 +165,13 @@ dvec_shrink(struct dvec *dvec) if (!dvec->len) { dvec->cap = 0; - rc = dvec->allocator->free(dvec->data); + rc = dvec->allocator->free(dvec->allocator, dvec->data); LIBDVEC_ABORT_ON_ALLOC(rc); if (rc) return -rc; } else { cap = dvec->len; - data = dvec->allocator->realloc(&dvec->data, - cap * dvec->dsize, &rc); + data = dvec->allocator->realloc(dvec->allocator, + &dvec->data, cap * dvec->dsize, &rc); LIBDVEC_ABORT_ON_ALLOC(!data); if (!data) return -rc; dvec->data = data;