libdvec-c

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

commit 314aa1f26ecccce863986ef5c5a319905de3d12a
parent c07f674f77a21bed3c1ed4a8569b82cd92f8af28
Author: Louis Burda <quent.burda@gmail.com>
Date:   Mon, 13 Mar 2023 21:20:35 +0100

Negate errno in return, positive values reserved

Diffstat:
Msrc/test.c | 2+-
Msrc/vec.c | 10+++++-----
2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/src/test.c b/src/test.c @@ -5,7 +5,7 @@ #include <string.h> #include <stdlib.h> -#define LIBVEC_ERR(rc) errx(1, "libvec: %s", strerror(rc)) +#define LIBVEC_ERR(rc) errx(1, "libvec: %s", rc < 0 ? strerror(-rc) : "???") int main(int argc, const char **argv) diff --git a/src/vec.c b/src/vec.c @@ -33,7 +33,7 @@ vec_init(struct vec *vec, size_t dsize, size_t cap) vec->data = NULL; if (vec->cap) { vec->data = calloc(cap, dsize); - if (!vec->data) return errno; + if (!vec->data) return -errno; } return 0; @@ -55,7 +55,7 @@ vec_alloc(struct vec **vec, size_t dsize, size_t cap) LIBVEC_CHECK(vec != NULL && dsize > 0 && cap > 0); *vec = malloc(sizeof(struct vec)); - if (!*vec) return errno; + if (!*vec) return -errno; rc = vec_init(*vec, dsize, cap); if (rc) { @@ -93,7 +93,7 @@ vec_resize(struct vec *vec, size_t cap) vec->cap = cap; alloc = realloc(vec->data, vec->cap * vec->dsize); - if (!alloc) return errno; + if (!alloc) return -errno; vec->data = alloc; return 0; @@ -113,7 +113,7 @@ vec_shrink(struct vec *vec) } alloc = realloc(vec->data, vec->cap * vec->dsize); - if (!alloc) return errno; + if (!alloc) return -errno; vec->data = alloc; return 0; @@ -131,7 +131,7 @@ vec_reserve(struct vec *vec, size_t index, size_t len) if (vec->len + len > vec->cap) vec->cap = vec->len + len; alloc = realloc(vec->data, vec->cap * vec->dsize); - if (!alloc) return errno; + if (!alloc) return -errno; vec->data = alloc; }