EFUN(3) NetBSD Library Functions Manual EFUN(3)
NAME
esetfunc, easprintf, efopen, emalloc, ecalloc, erealloc, ereallocarr, estrdup, estrndup, estrlcat, estrlcpy, estrtoi, estrtou, evasprintf -- error-checked utility functions
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 s); void * emalloc(size_t n); void * erealloc(void *p, size_t n); void ereallocarr(void *p, size_t n, size_t s); 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); intmax_t estrtoi(const char * nptr, int base, intmax_t lo, intmax_t hi); uintmax_t estrtou(const char * nptr, int base, uintmax_t lo, uintmax_t hi); int evasprintf(char ** restrict str, const char * restrict fmt, ...);
DESCRIPTION
The easprintf(), efopen(), ecalloc(), emalloc(), erealloc(), ereallocarr(), estrdup(), estrndup(), estrlcat(), estrlcpy(), estrtoi(), estrtou(), and evasprintf() functions operate exactly as the correspond- ing 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 func- tion 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), reallocarr(3), strdup(3), strlcat(3), strlcpy(3), strndup(3), strtoi(3), strtou(3), vasprintf(3)
HISTORY
The estrtoi(), estrtou() and ereallocarr() functions were added in NetBSD 8. NetBSD 8.0 July 26, 2015 NetBSD 8.0
Powered by man-cgi (2024-08-26). Maintained for NetBSD by Kimmo Suominen. Based on man-cgi by Panagiotis Christias.