xref: /freebsd/contrib/openpam/doc/man/openpam_straddch.3 (revision ce77a8d6923d67accfee464f031330c83f551f9e)
1*ce77a8d6SDag-Erling Smørgrav.\" Generated from openpam_straddch.c by gendoc.pl
2*ce77a8d6SDag-Erling Smørgrav.\" $Id: openpam_straddch.c 648 2013-03-05 17:54:27Z des $
3*ce77a8d6SDag-Erling Smørgrav.Dd September 7, 2013
42f3ed619SDag-Erling Smørgrav.Dt OPENPAM_STRADDCH 3
52f3ed619SDag-Erling Smørgrav.Os
62f3ed619SDag-Erling Smørgrav.Sh NAME
72f3ed619SDag-Erling Smørgrav.Nm openpam_straddch
82f3ed619SDag-Erling Smørgrav.Nd add a character to a string, expanding the buffer if needed
92f3ed619SDag-Erling Smørgrav.Sh LIBRARY
102f3ed619SDag-Erling Smørgrav.Lb libpam
112f3ed619SDag-Erling Smørgrav.Sh SYNOPSIS
122f3ed619SDag-Erling Smørgrav.In sys/types.h
132f3ed619SDag-Erling Smørgrav.In security/pam_appl.h
142f3ed619SDag-Erling Smørgrav.In security/openpam.h
152f3ed619SDag-Erling Smørgrav.Ft "int"
162f3ed619SDag-Erling Smørgrav.Fn openpam_straddch "char **str" "size_t *size" "size_t *len" "int ch"
172f3ed619SDag-Erling Smørgrav.Sh DESCRIPTION
182f3ed619SDag-Erling SmørgravThe
192f3ed619SDag-Erling Smørgrav.Fn openpam_straddch
202f3ed619SDag-Erling Smørgravfunction appends a character to a dynamically
212f3ed619SDag-Erling Smørgravallocated NUL-terminated buffer, reallocating the buffer as needed.
222f3ed619SDag-Erling Smørgrav.Pp
232f3ed619SDag-Erling SmørgravThe
242f3ed619SDag-Erling Smørgrav.Fa str
252f3ed619SDag-Erling Smørgravargument points to a variable containing either a pointer to
262f3ed619SDag-Erling Smørgravan existing buffer or
272f3ed619SDag-Erling Smørgrav.Dv NULL .
282f3ed619SDag-Erling SmørgravIf the value of the variable pointed to by
292f3ed619SDag-Erling Smørgrav.Fa str
302f3ed619SDag-Erling Smørgravis
312f3ed619SDag-Erling Smørgrav.Dv NULL ,
322f3ed619SDag-Erling Smørgrava new buffer
332f3ed619SDag-Erling Smørgravis allocated.
342f3ed619SDag-Erling Smørgrav.Pp
352f3ed619SDag-Erling SmørgravThe
362f3ed619SDag-Erling Smørgrav.Fa size
372f3ed619SDag-Erling Smørgravand
382f3ed619SDag-Erling Smørgrav.Fa len
392f3ed619SDag-Erling Smørgravargument point to variables used to hold the size
402f3ed619SDag-Erling Smørgravof the buffer and the length of the string it contains, respectively.
412f3ed619SDag-Erling Smørgrav.Pp
42ea807406SDag-Erling SmørgravThe final argument,
43ea807406SDag-Erling Smørgrav.Fa ch ,
44ea807406SDag-Erling Smørgravis the character that should be appended to
45ea807406SDag-Erling Smørgravthe string.  If
46ea807406SDag-Erling Smørgrav.Fa ch
47ea807406SDag-Erling Smørgravis 0, nothing is appended, but a new buffer is
48ea807406SDag-Erling Smørgravstill allocated if
49ea807406SDag-Erling Smørgrav.Fa str
50ea807406SDag-Erling Smørgravis NULL.  This can be used to
51ea807406SDag-Erling Smørgrav.Do
52ea807406SDag-Erling Smørgravbootstrap
53ea807406SDag-Erling Smørgrav.Dc
54ea807406SDag-Erling Smørgravthe
55ea807406SDag-Erling Smørgravstring.
56ea807406SDag-Erling Smørgrav.Pp
572f3ed619SDag-Erling SmørgravIf a new buffer is allocated or an existing buffer is reallocated to
582f3ed619SDag-Erling Smørgravmake room for the additional character,
592f3ed619SDag-Erling Smørgrav.Fa str
602f3ed619SDag-Erling Smørgravand
612f3ed619SDag-Erling Smørgrav.Fa size
622f3ed619SDag-Erling Smørgravare updated
632f3ed619SDag-Erling Smørgravaccordingly.
642f3ed619SDag-Erling Smørgrav.Pp
652f3ed619SDag-Erling SmørgravThe
662f3ed619SDag-Erling Smørgrav.Fn openpam_straddch
672f3ed619SDag-Erling Smørgravfunction ensures that the buffer is always
682f3ed619SDag-Erling SmørgravNUL-terminated.
692f3ed619SDag-Erling Smørgrav.Pp
702f3ed619SDag-Erling SmørgravIf the
712f3ed619SDag-Erling Smørgrav.Fn openpam_straddch
722f3ed619SDag-Erling Smørgravfunction is successful, it increments the
732f3ed619SDag-Erling Smørgravinteger variable pointed to by
742f3ed619SDag-Erling Smørgrav.Fa len
75ea807406SDag-Erling Smørgrav(unless
76ea807406SDag-Erling Smørgrav.Fa ch
77ea807406SDag-Erling Smørgravwas 0) and returns 0.
782f3ed619SDag-Erling SmørgravOtherwise, it leaves the variables pointed to by
792f3ed619SDag-Erling Smørgrav.Fa str ,
802f3ed619SDag-Erling Smørgrav.Fa size
812f3ed619SDag-Erling Smørgravand
822f3ed619SDag-Erling Smørgrav.Fa len
832f3ed619SDag-Erling Smørgravunmodified, sets
842f3ed619SDag-Erling Smørgrav.Va errno
852f3ed619SDag-Erling Smørgravto
862f3ed619SDag-Erling Smørgrav.Dv ENOMEM
872f3ed619SDag-Erling Smørgravand returns -1.
882f3ed619SDag-Erling Smørgrav.Pp
892f3ed619SDag-Erling Smørgrav.Sh RETURN VALUES
902f3ed619SDag-Erling SmørgravThe
912f3ed619SDag-Erling Smørgrav.Fn openpam_straddch
922f3ed619SDag-Erling Smørgravfunction returns 0 on success and -1 on failure.
932f3ed619SDag-Erling Smørgrav.Sh SEE ALSO
942f3ed619SDag-Erling Smørgrav.Xr pam 3 ,
952f3ed619SDag-Erling Smørgrav.Xr pam_strerror 3
962f3ed619SDag-Erling Smørgrav.Sh STANDARDS
972f3ed619SDag-Erling SmørgravThe
982f3ed619SDag-Erling Smørgrav.Fn openpam_straddch
992f3ed619SDag-Erling Smørgravfunction is an OpenPAM extension.
1002f3ed619SDag-Erling Smørgrav.Sh AUTHORS
1012f3ed619SDag-Erling SmørgravThe
1022f3ed619SDag-Erling Smørgrav.Fn openpam_straddch
1032f3ed619SDag-Erling Smørgravfunction and this manual page were
1042f3ed619SDag-Erling Smørgravdeveloped by
1052f3ed619SDag-Erling Smørgrav.An Dag-Erling Sm\(/orgrav Aq des@des.no .
106