reallocarray.c (539B)
- // Copied from musl
- // Copyright © 2020 Ariadne Conill <ariadne@dereferenced.org>
- // SPDX-License-Identifier: MIT
- #define _POSIX_C_SOURCE 202405L
- #define _BSD_SOURCE
- #include "./reallocarray.h"
- #include <errno.h>
- #include <stdlib.h>
- #ifdef HAS_REALLOCARRAY
- void *
- utils_reallocarray(void *ptr, size_t m, size_t n)
- {
- return reallocarray(ptr, m, n);
- }
- #else /* HAS_REALLOCARRAY */
- void *
- utils_reallocarray(void *ptr, size_t m, size_t n)
- {
- if(n && m > -1 / n)
- {
- errno = ENOMEM;
- return 0;
- }
- return realloc(ptr, m * n);
- }
- #endif