commit 3fec3e2f4cd0d4b5dfe2f851dc135787f0e377fe
parent 5d49332d4fa60d1fb9c01d83ca350d4945d02268
Author: Michael Forney <mforney@mforney.org>
Date: Tue, 16 Apr 2019 17:41:39 -0700
libutil: Add enreallocarray
Diffstat:
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);