kernel - Fix bugs in recent RSS/swap commits
[dragonfly.git] / share / man / man9 / kstrdup.9
blob8fe09e9ac21aef65c589b4ba13b49c3dea796411
1 .\"
2 .\" Copyright (c) 2016 The DragonFly Project.  All rights reserved.
3 .\"
4 .\" Redistribution and use in source and binary forms, with or without
5 .\" modification, are permitted provided that the following conditions
6 .\" are met:
7 .\"
8 .\" 1. Redistributions of source code must retain the above copyright
9 .\"    notice, this list of conditions and the following disclaimer.
10 .\" 2. Redistributions in binary form must reproduce the above copyright
11 .\"    notice, this list of conditions and the following disclaimer in
12 .\"    the documentation and/or other materials provided with the
13 .\"    distribution.
14 .\" 3. Neither the name of The DragonFly Project nor the names of its
15 .\"    contributors may be used to endorse or promote products derived
16 .\"    from this software without specific, prior written permission.
17 .\"
18 .\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 .\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 .\" LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
21 .\" FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE
22 .\" COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
23 .\" INCIDENTAL, SPECIAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES (INCLUDING,
24 .\" BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
25 .\" LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
26 .\" AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
27 .\" OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
28 .\" OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
29 .\" SUCH DAMAGE.
30 .\"
31 .Dd June 5, 2016
32 .Dt KSTRDUP 9
33 .Os
34 .Sh NAME
35 .Nm kstrdup ,
36 .Nm kstrndup
37 .Nd save a copy of a string
38 .Sh SYNOPSIS
39 .In sys/malloc.h
40 .Ft char *
41 .Fn kstrdup "const char *str" "struct malloc_type *type"
42 .Ft char *
43 .Fn kstrndup "const char *str" "size_t maxlen" "struct malloc_type *type"
44 .Sh DESCRIPTION
45 The
46 .Fn kstrdup
47 function allocates sufficient memory of type
48 .Fa type
49 for a copy of the string
50 .Fa str ,
51 does the copy, and returns a pointer to it.
52 The pointer may subsequently be used as an
53 argument to the function
54 .Xr kfree 9 .
55 .Pp
56 The
57 .Fn kstrndup
58 function copies at most
59 .Fa maxlen
60 characters from the string
61 .Fa str
62 and will always
63 .Dv NUL
64 terminate the copied string.
65 .Sh SEE ALSO
66 .Xr kfree 9 ,
67 .Xr kmalloc 9