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