| @@ -1,14 +1,14 @@ | | | @@ -1,14 +1,14 @@ |
1 | .\" $NetBSD: reallocarr.3,v 1.5 2022/08/31 12:10:05 riastradh Exp $ | | 1 | .\" $NetBSD: reallocarr.3,v 1.6 2022/08/31 12:17:14 riastradh Exp $ |
2 | .\" | | 2 | .\" |
3 | .\" Copyright (c) 2015 The NetBSD Foundation, Inc. | | 3 | .\" Copyright (c) 2015 The NetBSD Foundation, Inc. |
4 | .\" All rights reserved. | | 4 | .\" All rights reserved. |
5 | .\" | | 5 | .\" |
6 | .\" Redistribution and use in source and binary forms, with or without | | 6 | .\" Redistribution and use in source and binary forms, with or without |
7 | .\" modification, are permitted provided that the following conditions | | 7 | .\" modification, are permitted provided that the following conditions |
8 | .\" are met: | | 8 | .\" are met: |
9 | .\" | | 9 | .\" |
10 | .\" 1. Redistributions of source code must retain the above copyright | | 10 | .\" 1. Redistributions of source code must retain the above copyright |
11 | .\" notice, this list of conditions and the following disclaimer. | | 11 | .\" notice, this list of conditions and the following disclaimer. |
12 | .\" 2. Redistributions in binary form must reproduce the above copyright | | 12 | .\" 2. Redistributions in binary form must reproduce the above copyright |
13 | .\" notice, this list of conditions and the following disclaimer in | | 13 | .\" notice, this list of conditions and the following disclaimer in |
14 | .\" the documentation and/or other materials provided with the | | 14 | .\" the documentation and/or other materials provided with the |
| @@ -16,27 +16,27 @@ | | | @@ -16,27 +16,27 @@ |
16 | .\" | | 16 | .\" |
17 | .\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | | 17 | .\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
18 | .\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | | 18 | .\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
19 | .\" LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS | | 19 | .\" LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS |
20 | .\" FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE | | 20 | .\" FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE |
21 | .\" COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, | | 21 | .\" COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, |
22 | .\" INCIDENTAL, SPECIAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES (INCLUDING, | | 22 | .\" INCIDENTAL, SPECIAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES (INCLUDING, |
23 | .\" BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | | 23 | .\" BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
24 | .\" LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED | | 24 | .\" LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED |
25 | .\" AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, | | 25 | .\" AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, |
26 | .\" OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT | | 26 | .\" OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT |
27 | .\" OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | | 27 | .\" OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
28 | .\" SUCH DAMAGE. | | 28 | .\" SUCH DAMAGE. |
29 | .Dd February 19, 2015 | | 29 | .Dd August 31, 2022 |
30 | .Dt REALLOCARR 3 | | 30 | .Dt REALLOCARR 3 |
31 | .Os | | 31 | .Os |
32 | .Sh NAME | | 32 | .Sh NAME |
33 | .Nm reallocarr | | 33 | .Nm reallocarr |
34 | .Nd reallocate array | | 34 | .Nd reallocate array |
35 | .Sh SYNOPSIS | | 35 | .Sh SYNOPSIS |
36 | .In stdlib.h | | 36 | .In stdlib.h |
37 | .Ft int | | 37 | .Ft int |
38 | .Fo reallocarr | | 38 | .Fo reallocarr |
39 | .Fa "void *ptrp" | | 39 | .Fa "void *ptrp" |
40 | .Fa "size_t number" | | 40 | .Fa "size_t number" |
41 | .Fa "size_t size" | | 41 | .Fa "size_t size" |
42 | .Fc | | 42 | .Fc |
| @@ -90,26 +90,40 @@ must be nonzero. | | | @@ -90,26 +90,40 @@ must be nonzero. |
90 | .Pp | | 90 | .Pp |
91 | The memory allocated by | | 91 | The memory allocated by |
92 | .Nm | | 92 | .Nm |
93 | may be freed with | | 93 | may be freed with |
94 | .Fo reallocarr | | 94 | .Fo reallocarr |
95 | .Li & Ns Fa ptr , | | 95 | .Li & Ns Fa ptr , |
96 | .Li 0 , | | 96 | .Li 0 , |
97 | .Fa size | | 97 | .Fa size |
98 | .Fc , | | 98 | .Fc , |
99 | which will always succeed and unconditionally set | | 99 | which will always succeed and unconditionally set |
100 | .Fa ptr | | 100 | .Fa ptr |
101 | to null. | | 101 | to null. |
102 | .Pp | | 102 | .Pp |
| | | 103 | Like |
| | | 104 | .Xr calloc 3 , |
| | | 105 | .Nm |
| | | 106 | fails gracefully if the product of |
| | | 107 | .Fa number |
| | | 108 | and |
| | | 109 | .Fa size |
| | | 110 | would overflow the representable size of memory. |
| | | 111 | Unlike |
| | | 112 | .Xr calloc 3 , |
| | | 113 | new memory allocated by |
| | | 114 | .Nm |
| | | 115 | is not zero-initialized. |
| | | 116 | .Pp |
103 | The | | 117 | The |
104 | .Nm | | 118 | .Nm |
105 | function may alter | | 119 | function may alter |
106 | .Va errno | | 120 | .Va errno |
107 | as a side effect. | | 121 | as a side effect. |
108 | .Pp | | 122 | .Pp |
109 | Note that the argument | | 123 | Note that the argument |
110 | .Fa ptrp | | 124 | .Fa ptrp |
111 | is a pointer to a pointer to allocated memory, unlike | | 125 | is a pointer to a pointer to allocated memory, unlike |
112 | .Xr realloc | | 126 | .Xr realloc |
113 | which takes a pointer to allocated memory. | | 127 | which takes a pointer to allocated memory. |
114 | .Sh RETURN VALUES | | 128 | .Sh RETURN VALUES |
115 | On successful completion, | | 129 | On successful completion, |