xref: /dflybsd-src/contrib/openpam/doc/man/openpam_straddch.3 (revision 4c84ab30f7dd59ef873b5a6d4e27bcea89d9f848)
110b5fe87SSascha Wildner.\" Generated from openpam_straddch.c by gendoc.pl
210b5fe87SSascha Wildner.\" $OpenPAM: openpam_straddch.c 938 2017-04-30 21:34:42Z des $
3*4c84ab30SSascha Wildner.Dd February 24, 2019
4577efdeeSPeter Avalos.Dt OPENPAM_STRADDCH 3
5577efdeeSPeter Avalos.Os
6577efdeeSPeter Avalos.Sh NAME
7577efdeeSPeter Avalos.Nm openpam_straddch
8577efdeeSPeter Avalos.Nd add a character to a string, expanding the buffer if needed
9577efdeeSPeter Avalos.Sh SYNOPSIS
10577efdeeSPeter Avalos.In sys/types.h
11577efdeeSPeter Avalos.In security/pam_appl.h
12577efdeeSPeter Avalos.In security/openpam.h
13577efdeeSPeter Avalos.Ft "int"
14577efdeeSPeter Avalos.Fn openpam_straddch "char **str" "size_t *size" "size_t *len" "int ch"
15577efdeeSPeter Avalos.Sh DESCRIPTION
16577efdeeSPeter AvalosThe
17577efdeeSPeter Avalos.Fn openpam_straddch
18577efdeeSPeter Avalosfunction appends a character to a dynamically
19577efdeeSPeter Avalosallocated NUL-terminated buffer, reallocating the buffer as needed.
20577efdeeSPeter Avalos.Pp
21577efdeeSPeter AvalosThe
22577efdeeSPeter Avalos.Fa str
23577efdeeSPeter Avalosargument points to a variable containing either a pointer to
24577efdeeSPeter Avalosan existing buffer or
25577efdeeSPeter Avalos.Dv NULL .
26577efdeeSPeter AvalosIf the value of the variable pointed to by
27577efdeeSPeter Avalos.Fa str
28577efdeeSPeter Avalosis
29577efdeeSPeter Avalos.Dv NULL ,
30577efdeeSPeter Avalosa new buffer
31577efdeeSPeter Avalosis allocated.
32577efdeeSPeter Avalos.Pp
33577efdeeSPeter AvalosThe
34577efdeeSPeter Avalos.Fa size
35577efdeeSPeter Avalosand
36577efdeeSPeter Avalos.Fa len
37577efdeeSPeter Avalosargument point to variables used to hold the size
38577efdeeSPeter Avalosof the buffer and the length of the string it contains, respectively.
39577efdeeSPeter Avalos.Pp
4010b5fe87SSascha WildnerThe final argument,
4110b5fe87SSascha Wildner.Fa ch ,
4210b5fe87SSascha Wildneris the character that should be appended to
4310b5fe87SSascha Wildnerthe string.  If
4410b5fe87SSascha Wildner.Fa ch
4510b5fe87SSascha Wildneris 0, nothing is appended, but a new buffer is
4610b5fe87SSascha Wildnerstill allocated if
4710b5fe87SSascha Wildner.Fa str
4810b5fe87SSascha Wildneris NULL.  This can be used to
4910b5fe87SSascha Wildner.Do
5010b5fe87SSascha Wildnerbootstrap
5110b5fe87SSascha Wildner.Dc
5210b5fe87SSascha Wildnerthe
5310b5fe87SSascha Wildnerstring.
5410b5fe87SSascha Wildner.Pp
55577efdeeSPeter AvalosIf a new buffer is allocated or an existing buffer is reallocated to
56577efdeeSPeter Avalosmake room for the additional character,
57577efdeeSPeter Avalos.Fa str
58577efdeeSPeter Avalosand
59577efdeeSPeter Avalos.Fa size
60577efdeeSPeter Avalosare updated
61577efdeeSPeter Avalosaccordingly.
62577efdeeSPeter Avalos.Pp
63577efdeeSPeter AvalosThe
64577efdeeSPeter Avalos.Fn openpam_straddch
65577efdeeSPeter Avalosfunction ensures that the buffer is always
66577efdeeSPeter AvalosNUL-terminated.
67577efdeeSPeter Avalos.Pp
68577efdeeSPeter AvalosIf the
69577efdeeSPeter Avalos.Fn openpam_straddch
70577efdeeSPeter Avalosfunction is successful, it increments the
71577efdeeSPeter Avalosinteger variable pointed to by
72577efdeeSPeter Avalos.Fa len
7310b5fe87SSascha Wildner(unless
7410b5fe87SSascha Wildner.Fa ch
7510b5fe87SSascha Wildnerwas 0) and returns 0.
76577efdeeSPeter AvalosOtherwise, it leaves the variables pointed to by
77577efdeeSPeter Avalos.Fa str ,
78577efdeeSPeter Avalos.Fa size
79577efdeeSPeter Avalosand
80577efdeeSPeter Avalos.Fa len
81577efdeeSPeter Avalosunmodified, sets
82577efdeeSPeter Avalos.Va errno
83577efdeeSPeter Avalosto
84577efdeeSPeter Avalos.Dv ENOMEM
85577efdeeSPeter Avalosand returns -1.
86577efdeeSPeter Avalos.Pp
87577efdeeSPeter Avalos.Sh RETURN VALUES
88577efdeeSPeter AvalosThe
89577efdeeSPeter Avalos.Fn openpam_straddch
90577efdeeSPeter Avalosfunction returns 0 on success and -1 on failure.
91577efdeeSPeter Avalos.Sh SEE ALSO
92577efdeeSPeter Avalos.Xr pam 3 ,
93577efdeeSPeter Avalos.Xr pam_strerror 3
94577efdeeSPeter Avalos.Sh STANDARDS
95577efdeeSPeter AvalosThe
96577efdeeSPeter Avalos.Fn openpam_straddch
97577efdeeSPeter Avalosfunction is an OpenPAM extension.
98577efdeeSPeter Avalos.Sh AUTHORS
99577efdeeSPeter AvalosThe
100577efdeeSPeter Avalos.Fn openpam_straddch
101577efdeeSPeter Avalosfunction and this manual page were
102577efdeeSPeter Avalosdeveloped by
10310b5fe87SSascha Wildner.An Dag-Erling Sm\(/orgrav Aq Mt des@des.no .
104