kasprintf
,
kcalloc
, kmalloc
,
krealloc
, kreallocarray
,
kstrdup
, kvasprintf
—
memory allocation functions for kcgi
#include
<sys/types.h>
#include <stdarg.h>
#include <stdint.h>
#include <kcgi.h>
int
kasprintf
(char
**p, const char
*fmt, ...);
void *
kcalloc
(size_t
nm, size_t sz);
void *
kmalloc
(size_t
sz);
void *
krealloc
(void
*p, size_t sz);
void *
kreallocarray
(void
*p, size_t nm,
size_t sz);
char *
kstrdup
(const
char *cp);
int
kvasprintf
(char
**p, const char
*fmt, va_list
ap);
These functions wrap around corresponding libc versions except
that on allocation failure, they print a warning message to standard error
output and call
exit(3).
Calling
kcalloc
(),
kmalloc
(),
krealloc
(),
or
kreallocarray
()
with sz or nm equal to zero, or
passing NULL
to
kstrdup
(),
additionally prints a warning message to the standard error output and
produces non-portable results.