Sun Jul 26 17:37:38 2015 UTC ()
Bump date for recent changes


(kamil)
diff -r1.13 -r1.14 src/lib/libutil/efun.3

cvs diff -r1.13 -r1.14 src/lib/libutil/efun.3 (switch to unified diff)

--- src/lib/libutil/efun.3 2015/07/26 17:36:38 1.13
+++ src/lib/libutil/efun.3 2015/07/26 17:37:38 1.14
@@ -1,140 +1,140 @@ @@ -1,140 +1,140 @@
1.\" $NetBSD: efun.3,v 1.13 2015/07/26 17:36:38 kamil Exp $ 1.\" $NetBSD: efun.3,v 1.14 2015/07/26 17:37:38 kamil Exp $
2.\" 2.\"
3.\" Copyright (c) 2006 The NetBSD Foundation, Inc. 3.\" Copyright (c) 2006 The NetBSD Foundation, Inc.
4.\" All rights reserved. 4.\" All rights reserved.
5.\" 5.\"
6.\" This code is derived from software contributed to The NetBSD Foundation 6.\" This code is derived from software contributed to The NetBSD Foundation
7.\" by Christos Zoulas. 7.\" by Christos Zoulas.
8.\" 8.\"
9.\" Redistribution and use in source and binary forms, with or without 9.\" Redistribution and use in source and binary forms, with or without
10.\" modification, are permitted provided that the following conditions 10.\" modification, are permitted provided that the following conditions
11.\" are met: 11.\" are met:
12.\" 1. Redistributions of source code must retain the above copyright 12.\" 1. Redistributions of source code must retain the above copyright
13.\" notice, this list of conditions and the following disclaimer. 13.\" notice, this list of conditions and the following disclaimer.
14.\" 2. Redistributions in binary form must reproduce the above copyright 14.\" 2. Redistributions in binary form must reproduce the above copyright
15.\" notice, this list of conditions and the following disclaimer in the 15.\" notice, this list of conditions and the following disclaimer in the
16.\" documentation and/or other materials provided with the distribution. 16.\" documentation and/or other materials provided with the distribution.
17.\" 17.\"
18.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS 18.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
19.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 19.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
20.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 20.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
21.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS 21.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
22.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 22.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 23.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 24.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 25.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 26.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 27.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28.\" POSSIBILITY OF SUCH DAMAGE. 28.\" POSSIBILITY OF SUCH DAMAGE.
29.\" 29.\"
30.Dd May 3, 2010 30.Dd July 26, 2015
31.Dt EFUN 3 31.Dt EFUN 3
32.Os 32.Os
33.Sh NAME 33.Sh NAME
34.Nm esetfunc , 34.Nm esetfunc ,
35.Nm easprintf , 35.Nm easprintf ,
36.Nm efopen , 36.Nm efopen ,
37.Nm emalloc , 37.Nm emalloc ,
38.Nm ecalloc , 38.Nm ecalloc ,
39.Nm erealloc , 39.Nm erealloc ,
40.Nm ereallocarr , 40.Nm ereallocarr ,
41.Nm estrdup , 41.Nm estrdup ,
42.Nm estrndup , 42.Nm estrndup ,
43.Nm estrlcat , 43.Nm estrlcat ,
44.Nm estrlcpy , 44.Nm estrlcpy ,
45.Nm estrtoi , 45.Nm estrtoi ,
46.Nm estrtou , 46.Nm estrtou ,
47.Nm evasprintf 47.Nm evasprintf
48.Nd error-checked utility functions 48.Nd error-checked utility functions
49.Sh LIBRARY 49.Sh LIBRARY
50.Lb libutil 50.Lb libutil
51.Sh SYNOPSIS 51.Sh SYNOPSIS
52.In util.h 52.In util.h
53.Ft void (*)(int, const char *, ...) 53.Ft void (*)(int, const char *, ...)
54.Fn esetfunc "void (*)(int, const char *, ...)" 54.Fn esetfunc "void (*)(int, const char *, ...)"
55.Ft int 55.Ft int
56.Fn easprintf "char ** restrict str" "const char * restrict fmt" "..." 56.Fn easprintf "char ** restrict str" "const char * restrict fmt" "..."
57.Ft FILE * 57.Ft FILE *
58.Fn efopen "const char *p" "const char *m" 58.Fn efopen "const char *p" "const char *m"
59.Ft void * 59.Ft void *
60.Fn ecalloc "size_t n" "size_t s" 60.Fn ecalloc "size_t n" "size_t s"
61.Ft void * 61.Ft void *
62.Fn emalloc "size_t n" 62.Fn emalloc "size_t n"
63.Ft void * 63.Ft void *
64.Fn erealloc "void *p" "size_t n" 64.Fn erealloc "void *p" "size_t n"
65.Ft void 65.Ft void
66.Fn ereallocarr "void *p" "size_t n" "size_t s" 66.Fn ereallocarr "void *p" "size_t n" "size_t s"
67.Ft char * 67.Ft char *
68.Fn estrdup "const char *s" 68.Fn estrdup "const char *s"
69.Ft char * 69.Ft char *
70.Fn estrndup "const char *s" "size_t len" 70.Fn estrndup "const char *s" "size_t len"
71.Ft size_t 71.Ft size_t
72.Fn estrlcat "char *dst" "const char *src" "size_t len" 72.Fn estrlcat "char *dst" "const char *src" "size_t len"
73.Ft size_t 73.Ft size_t
74.Fn estrlcpy "char *dst" "const char *src" "size_t len" 74.Fn estrlcpy "char *dst" "const char *src" "size_t len"
75.Ft intmax_t 75.Ft intmax_t
76.Fn estrtoi "const char * nptr" "int base" "intmax_t lo" "intmax_t hi" 76.Fn estrtoi "const char * nptr" "int base" "intmax_t lo" "intmax_t hi"
77.Ft uintmax_t 77.Ft uintmax_t
78.Fn estrtou "const char * nptr" "int base" "uintmax_t lo" "uintmax_t hi" 78.Fn estrtou "const char * nptr" "int base" "uintmax_t lo" "uintmax_t hi"
79.Ft int 79.Ft int
80.Fn evasprintf "char ** restrict str" "const char * restrict fmt" "..." 80.Fn evasprintf "char ** restrict str" "const char * restrict fmt" "..."
81.Sh DESCRIPTION 81.Sh DESCRIPTION
82The 82The
83.Fn easprintf , 83.Fn easprintf ,
84.Fn efopen , 84.Fn efopen ,
85.Fn ecalloc , 85.Fn ecalloc ,
86.Fn emalloc , 86.Fn emalloc ,
87.Fn erealloc , 87.Fn erealloc ,
88.Fn ereallocarr , 88.Fn ereallocarr ,
89.Fn estrdup , 89.Fn estrdup ,
90.Fn estrndup , 90.Fn estrndup ,
91.Fn estrlcat , 91.Fn estrlcat ,
92.Fn estrlcpy , 92.Fn estrlcpy ,
93.Fn estrtoi , 93.Fn estrtoi ,
94.Fn estrtou , 94.Fn estrtou ,
95and 95and
96.Fn evasprintf 96.Fn evasprintf
97functions 97functions
98operate exactly as the corresponding functions that do not start with an 98operate exactly as the corresponding functions that do not start with an
99.Sq e 99.Sq e
100except that in case of an error, they call 100except that in case of an error, they call
101the installed error handler that can be configured with 101the installed error handler that can be configured with
102.Fn esetfunc . 102.Fn esetfunc .
103.Pp 103.Pp
104For the string handling functions, it is an error when the destination 104For the string handling functions, it is an error when the destination
105buffer is not large enough to hold the complete string. 105buffer is not large enough to hold the complete string.
106For functions that allocate memory or open a file, it is an error when 106For functions that allocate memory or open a file, it is an error when
107they would return a null pointer. 107they would return a null pointer.
108The default error handler is 108The default error handler is
109.Xr err 3 . 109.Xr err 3 .
110The function 110The function
111.Fn esetfunc 111.Fn esetfunc
112returns the previous error handler function. 112returns the previous error handler function.
113A 113A
114.Dv NULL 114.Dv NULL
115error handler will just call 115error handler will just call
116.Xr exit 3 . 116.Xr exit 3 .
117.Sh SEE ALSO 117.Sh SEE ALSO
118.Xr asprintf 3 , 118.Xr asprintf 3 ,
119.Xr calloc 3 , 119.Xr calloc 3 ,
120.Xr err 3 , 120.Xr err 3 ,
121.Xr exit 3 , 121.Xr exit 3 ,
122.Xr fopen 3 , 122.Xr fopen 3 ,
123.Xr malloc 3 , 123.Xr malloc 3 ,
124.Xr realloc 3 , 124.Xr realloc 3 ,
125.Xr reallocarr 3 , 125.Xr reallocarr 3 ,
126.Xr strdup 3 , 126.Xr strdup 3 ,
127.Xr strlcat 3 , 127.Xr strlcat 3 ,
128.Xr strlcpy 3 , 128.Xr strlcpy 3 ,
129.Xr strndup 3 , 129.Xr strndup 3 ,
130.Xr strtoi 3 , 130.Xr strtoi 3 ,
131.Xr strtou 3 , 131.Xr strtou 3 ,
132.Xr vasprintf 3 132.Xr vasprintf 3
133.Sh HISTORY 133.Sh HISTORY
134The 134The
135.Fn estrtoi , 135.Fn estrtoi ,
136.Fn estrtou 136.Fn estrtou
137and 137and
138.Fn ereallocarr 138.Fn ereallocarr
139functions were added in 139functions were added in
140.Nx 8 . 140.Nx 8 .