NAME
esetfunc
, emalloc
,
ecalloc
, erealloc
,
estrdup
, estrndup
,
estrlcat
, estrlcpy
,
easprintf
—
error-checked utility
functions
LIBRARY
library “libutil”
SYNOPSIS
#include
<sys/types.h>
#include <libutil.h>
void (*)(int, const char *, ...)
esetfunc
(void
(*)(int, const char *, ...));
void *
ecalloc
(size_t
n, size_t c);
void *
emalloc
(size_t
n);
void *
erealloc
(void
*p, size_t n);
char *
estrdup
(const
char *s);
char *
estrndup
(const
char *s, size_t
len);
size_t
estrlcat
(char
*dst, const char
*src, size_t
len);
size_t
estrlcpy
(char
*dst, const char
*src, size_t
len);
int
easprintf
(char
** restrict str, const
char * restrict fmt,
...);
DESCRIPTION
Theecalloc
(),
emalloc
(),
erealloc
(),
estrdup
(),
estrndup
(),
estrlcat
(),
estrlcpy
(),
and
easprintf
()
functions operate exactly as the corresponding functions that do not start
with an ‘e’ except that in case of an error, they call the
installed error handler that can be configured with
esetfunc
().
For the string handling functions, it is an error
when the destination buffer is not large enough to hold the complete string.
For functions that allocate memory or open a file, it is an error when they
would return a null pointer. The default error handler is
err(3). The function
esetfunc
()
returns the previous error handler function. A NULL
error handler will just call
exit(3).
SEE ALSO
asprintf(3), calloc(3), err(3), exit(3), fopen(3), malloc(3), realloc(3), strdup(3), strlcat(3), strlcpy(3), strndup(3)
HISTORY
The error functions first appeared in DragonFly 2.11. They are originally from NetBSD.