EFUN(3)                 NetBSD Library Functions Manual                EFUN(3)

NAME
     esetfunc, easprintf, efopen, emalloc, ecalloc, erealloc, estrdup,
     estrndup, estrlcat, estrlcpy, evasprintf -- error-checked utility func-
     tions

LIBRARY
     System Utilities Library (libutil, -lutil)

SYNOPSIS
     #include <util.h>

     void (*)(int, const char *, ...)
     esetfunc(void (*)(int, const char *, ...));

     int
     easprintf(char ** restrict str, const char * restrict fmt, ...);

     FILE *
     efopen(const char *p, const char *m);

     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
     evasprintf(char ** restrict str, const char * restrict fmt, ...);

DESCRIPTION
     The easprintf, efopen, ecalloc, emalloc, erealloc, estrdup, estrndup,
     estrlcat, estrlcpy, and evasprintf functions operate exactly as the cor-
     responding 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), strndup(3), strlcat(3), strlcpy(3), vasprintf(3)

NetBSD 5.0_STABLE              February 23, 2008             NetBSD 5.0_STABLE
