libdvec-c

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

commit e147c837eef7d32e6c4fe391b24c37685e8407cd
parent 32aac6a034f347c9adcba320bf998212779855bd
Author: Louis Burda <quent.burda@gmail.com>
Date:   Mon, 20 Mar 2023 14:43:01 +0100

Fix -Wconversion error, add dvec_len and DVEC_ITER

Diffstat:
Minclude/dvec.h | 11++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/include/dvec.h b/include/dvec.h @@ -3,8 +3,11 @@ #include "allocator.h" #include <stdbool.h> +#include <stddef.h> #include <stdlib.h> +#define DVEC_ITER(dvec, p) *p = dvec->data; dvec_iter_fwd(dvec, (void **)p); + struct dvec { size_t dsize; size_t len, cap; @@ -60,6 +63,12 @@ dvec_empty(struct dvec *dvec) return !dvec->len; } +static inline size_t +dvec_len(struct dvec *dvec) +{ + return dvec->len; +} + static inline void * dvec_add_slots(struct dvec *dvec, int *rc, size_t count) { @@ -78,7 +87,7 @@ dvec_add_slot(struct dvec *dvec, int *rc) static inline void dvec_rm_slots(struct dvec *dvec, void *slot, size_t count) { - dvec_remove(dvec, (slot - dvec->data) / dvec->dsize, count); + dvec_remove(dvec, ((size_t) (slot - dvec->data)) / dvec->dsize, count); } static inline void