commit ad49ce7df1d5fe6a11532d233d2bcd20e037f94e
parent 476e3e02f403667bd38807631fd4c7c6b6b088b3
Author: Robert Russell <robertrussell.72001@gmail.com>
Date: Wed, 7 Sep 2022 15:16:51 -0700
Make erealloc functions return int 0
This way erealloc can be easily replaced by ereallocX. In
particular, this is necessary for vectors and deques.
Diffstat:
3 files changed, 8 insertions(+), 5 deletions(-)
diff --git a/inc/rcx/alloc.h b/inc/rcx/alloc.h
@@ -22,9 +22,9 @@ void *r_ealloc(usize size);
void *r_eallocz(usize size);
void *r_eallocn(usize len, usize size);
void *r_eallocnz(usize len, usize size);
-void r_erealloc(void *p, usize size);
-void r_ereallocz(void *p, usize osize, usize nsize);
-void r_ereallocn(void *p, usize len, usize size);
-void r_ereallocnz(void *p, usize olen, usize nlen, usize size);
+int r_erealloc(void *p, usize size);
+int r_ereallocz(void *p, usize osize, usize nsize);
+int r_ereallocn(void *p, usize len, usize size);
+int r_ereallocnz(void *p, usize olen, usize nlen, usize size);
void free(void *p);
diff --git a/inc/rcx/rcx.h b/inc/rcx/rcx.h
@@ -1,5 +1,7 @@
#pragma once
+/* TODO: consistency check: cast style: (void*) vs (void *) */
+
#include <inttypes.h>
#include <stddef.h>
diff --git a/src/alloc.c b/src/alloc.c
@@ -81,11 +81,12 @@ EALLOC(n, usize len, usize size)(len, size)
EALLOC(nz, usize len, usize size)(len, size)
#define EREALLOC(mods, ...)\
- void r_erealloc##mods(void *p, __VA_ARGS__) {\
+ int r_erealloc##mods(void *p, __VA_ARGS__) {\
int ret = r_realloc##mods(p, EREALLOC_AUX
#define EREALLOC_AUX(...)\
__VA_ARGS__);\
if (ret < 0) r_fatalf("allocation failure");\
+ return 0;\
}
EREALLOC(, usize size)(size)