rcx

library of miscellaneous bits of C code
git clone git://git.rr3.xyz/rcx
Log | Files | Refs | README | LICENSE

commit 476e3e02f403667bd38807631fd4c7c6b6b088b3
parent 0d8e1bf40232d129474377734a748561e49fd96f
Author: Robert Russell <robertrussell.72001@gmail.com>
Date:   Wed,  7 Sep 2022 15:09:25 -0700

Fix signatures of realloc functions

The old version required a cast to avoid a warning.

Diffstat:
Minc/rcx/alloc.h | 16++++++++--------
Msrc/alloc.c | 16++++++++--------
2 files changed, 16 insertions(+), 16 deletions(-)

diff --git a/inc/rcx/alloc.h b/inc/rcx/alloc.h @@ -14,17 +14,17 @@ void *r_alloc(usize size); /* aka malloc */ void *r_allocz(usize size); void *r_allocn(usize len, usize size); void *r_allocnz(usize len, usize size); /* aka calloc */ -int r_realloc(void **p, usize size); -int r_reallocz(void **p, usize osize, usize nsize); -int r_reallocn(void **p, usize len, usize size); -int r_reallocnz(void **p, usize olen, usize nlen, usize size); +int r_realloc(void *p, usize size); +int r_reallocz(void *p, usize osize, usize nsize); +int r_reallocn(void *p, usize len, usize size); +int r_reallocnz(void *p, usize olen, usize nlen, usize size); 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); +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); void free(void *p); diff --git a/src/alloc.c b/src/alloc.c @@ -33,23 +33,23 @@ r_allocnz(usize len, usize size) { } int -r_realloc(void **p, usize size) { - void *q = realloc(*p, size); +r_realloc(void *p, usize size) { + void *q = realloc(*(void**)p, size); if (!q) return -1; - *p = q; + *(void**)p = q; return 0; } int -r_reallocz(void **p, usize osize, usize nsize) { +r_reallocz(void *p, usize osize, usize nsize) { int ret = r_realloc(p, nsize); if (ret == 0 && nsize > osize) - memset((char *)*p + osize, 0, nsize - osize); + memset(*(char **)p + osize, 0, nsize - osize); return ret; } int -r_reallocn(void **p, usize len, usize size) { +r_reallocn(void *p, usize len, usize size) { if (r_mul_will_overflow_(len, size)) { errno = ENOMEM; return -1; @@ -58,7 +58,7 @@ r_reallocn(void **p, usize len, usize size) { } int -r_reallocnz(void **p, usize olen, usize nlen, usize size) { +r_reallocnz(void *p, usize olen, usize nlen, usize size) { if (r_mul_will_overflow_(nlen, size)) { errno = ENOMEM; return -1; @@ -81,7 +81,7 @@ 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__) {\ + void r_erealloc##mods(void *p, __VA_ARGS__) {\ int ret = r_realloc##mods(p, EREALLOC_AUX #define EREALLOC_AUX(...)\ __VA_ARGS__);\