sbase

suckless unix tools
git clone git://git.suckless.org/sbase
Log | Files | Refs | README | LICENSE

commit 3fec3e2f4cd0d4b5dfe2f851dc135787f0e377fe
parent 5d49332d4fa60d1fb9c01d83ca350d4945d02268
Author: Michael Forney <mforney@mforney.org>
Date:   Tue, 16 Apr 2019 17:41:39 -0700

libutil: Add enreallocarray

Diffstat:
Mlibutil/reallocarray.c | 8+++++++-
Mutil.h | 1+
2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/libutil/reallocarray.c b/libutil/reallocarray.c @@ -41,10 +41,16 @@ reallocarray(void *optr, size_t nmemb, size_t size) void * ereallocarray(void *optr, size_t nmemb, size_t size) { + return enreallocarray(1, optr, nmemb, size); +} + +void * +enreallocarray(int status, void *optr, size_t nmemb, size_t size) +{ void *p; if (!(p = reallocarray(optr, nmemb, size))) - eprintf("reallocarray: out of memory\n"); + enprintf(status, "reallocarray: out of memory\n"); return p; } diff --git a/util.h b/util.h @@ -32,6 +32,7 @@ char *estrndup(const char *, size_t); void *encalloc(int, size_t, size_t); void *enmalloc(int, size_t); void *enrealloc(int, void *, size_t); +void *enreallocarray(int, void *, size_t, size_t); char *enstrdup(int, const char *); char *enstrndup(int, const char *, size_t);