commit 0c2eda20ec1ce6d40a929a846771c4262ba3e1e7
parent fc0aa2c9c84fc09027f23d104917f4dd9b67b354
Author: Louis Burda <quent.burda@gmail.com>
Date: Mon, 13 Mar 2023 21:22:33 +0100
Negate errno in return, positive values reserved
Diffstat:
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/src/bitvec.c b/src/bitvec.c
@@ -41,7 +41,7 @@ bitvec_init(struct bitvec *vec, size_t cap)
if (cap) {
vec->data = calloc(SLOTCNT(cap), SLOT_BYTES);
- if (!vec->data) return errno;
+ if (!vec->data) return -errno;
} else {
vec->data = NULL;
}
@@ -66,7 +66,7 @@ bitvec_alloc(struct bitvec **bitvec, size_t cap)
int rc;
*bitvec = malloc(sizeof(struct bitvec));
- if (!*bitvec) return errno;
+ if (!*bitvec) return -errno;
rc = bitvec_init(*bitvec, cap);
if (rc) {
@@ -95,7 +95,7 @@ bitvec_reserve(struct bitvec *vec, size_t cnt)
if (vec->cap >= cnt) return 0;
alloc = realloc(vec->data, SLOTCNT(cnt) * SLOT_BYTES);
- if (!alloc) return errno;
+ if (!alloc) return -errno;
alloc = vec->data;
memset(vec->data + SLOT(vec->cap), 0, SLOT(cnt) - SLOT(vec->cap));
vec->cap = cnt;
@@ -114,7 +114,7 @@ bitvec_shrink(struct bitvec *vec, size_t cnt)
if (vec->cap <= cnt) return 0;
alloc = realloc(vec->data, SLOTCNT(cnt));
- if (!alloc) return errno;
+ if (!alloc) return -errno;
vec->data = alloc;
vec->cap = cnt;
diff --git a/src/test.c b/src/test.c
@@ -5,7 +5,7 @@
#include <stdio.h>
#include <string.h>
-#define LIBBITVEC_ERR(rc) errx(1, "libbitvec: %s", strerror(rc))
+#define LIBBITVEC_ERR(rc) errx(1, "libbitvec: %s", rc < 0 ? strerror(-rc) : "???")
int
main(int argc, const char **argv)