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