1ce77a8d6SDag-Erling Smørgrav.\" Generated from openpam_readlinev.c by gendoc.pl 2*3ba4c8c8SDag-Erling Smørgrav.Dd June 27, 2023 32f3ed619SDag-Erling Smørgrav.Dt OPENPAM_READLINEV 3 42f3ed619SDag-Erling Smørgrav.Os 52f3ed619SDag-Erling Smørgrav.Sh NAME 62f3ed619SDag-Erling Smørgrav.Nm openpam_readlinev 72f3ed619SDag-Erling Smørgrav.Nd read a line from a file and split it into words 82f3ed619SDag-Erling Smørgrav.Sh SYNOPSIS 92f3ed619SDag-Erling Smørgrav.In sys/types.h 102f3ed619SDag-Erling Smørgrav.In stdio.h 112f3ed619SDag-Erling Smørgrav.In security/pam_appl.h 122f3ed619SDag-Erling Smørgrav.In security/openpam.h 132f3ed619SDag-Erling Smørgrav.Ft "char **" 142f3ed619SDag-Erling Smørgrav.Fn openpam_readlinev "FILE *f" "int *lineno" "int *lenp" 152f3ed619SDag-Erling Smørgrav.Sh DESCRIPTION 162f3ed619SDag-Erling SmørgravThe 172f3ed619SDag-Erling Smørgrav.Fn openpam_readlinev 182f3ed619SDag-Erling Smørgravfunction reads a line from a file, splits it 192f3ed619SDag-Erling Smørgravinto words according to the rules described in the 202f3ed619SDag-Erling Smørgrav.Xr openpam_readword 3 212f3ed619SDag-Erling Smørgravmanual page, and returns a list of those words. 222f3ed619SDag-Erling Smørgrav.Pp 232f3ed619SDag-Erling SmørgravIf 242f3ed619SDag-Erling Smørgrav.Fa lineno 252f3ed619SDag-Erling Smørgravis not 262f3ed619SDag-Erling Smørgrav.Dv NULL , 272f3ed619SDag-Erling Smørgravthe integer variable it points to is 282f3ed619SDag-Erling Smørgravincremented every time a newline character is read. 292f3ed619SDag-Erling SmørgravThis includes quoted or escaped newline characters and the newline 302f3ed619SDag-Erling Smørgravcharacter at the end of the line. 312f3ed619SDag-Erling Smørgrav.Pp 322f3ed619SDag-Erling SmørgravIf 332f3ed619SDag-Erling Smørgrav.Fa lenp 342f3ed619SDag-Erling Smørgravis not 352f3ed619SDag-Erling Smørgrav.Dv NULL , 362f3ed619SDag-Erling Smørgravthe number of words on the line is stored in the 372f3ed619SDag-Erling Smørgravvariable to which it points. 382f3ed619SDag-Erling Smørgrav.Sh RETURN VALUES 392f3ed619SDag-Erling SmørgravIf successful, the 402f3ed619SDag-Erling Smørgrav.Fn openpam_readlinev 412f3ed619SDag-Erling Smørgravfunction returns a pointer to a 422f3ed619SDag-Erling Smørgravdynamically allocated array of pointers to individual dynamically 432f3ed619SDag-Erling Smørgravallocated NUL-terminated strings, each containing a single word, in the 442f3ed619SDag-Erling Smørgravorder in which they were encountered on the line. 452f3ed619SDag-Erling SmørgravThe array is terminated by a 462f3ed619SDag-Erling Smørgrav.Dv NULL 472f3ed619SDag-Erling Smørgravpointer. 482f3ed619SDag-Erling Smørgrav.Pp 492f3ed619SDag-Erling SmørgravThe caller is responsible for freeing both the array and the individual 502f3ed619SDag-Erling Smørgravstrings by passing each of them to 512f3ed619SDag-Erling Smørgrav.Xr free 3 . 522f3ed619SDag-Erling Smørgrav.Pp 532f3ed619SDag-Erling SmørgravIf the end of the line was reached before any words were read, 542f3ed619SDag-Erling Smørgrav.Fn openpam_readlinev 552f3ed619SDag-Erling Smørgravreturns a pointer to a dynamically allocated array 562f3ed619SDag-Erling Smørgravcontaining a single 572f3ed619SDag-Erling Smørgrav.Dv NULL 582f3ed619SDag-Erling Smørgravpointer. 592f3ed619SDag-Erling Smørgrav.Pp 602f3ed619SDag-Erling SmørgravThe 612f3ed619SDag-Erling Smørgrav.Fn openpam_readlinev 622f3ed619SDag-Erling Smørgravfunction can fail and return 632f3ed619SDag-Erling Smørgrav.Dv NULL 642f3ed619SDag-Erling Smørgravfor one of 652f3ed619SDag-Erling Smørgravfour reasons: 662f3ed619SDag-Erling Smørgrav.Bl -bullet 672f3ed619SDag-Erling Smørgrav.It 682f3ed619SDag-Erling SmørgravThe end of the file was reached before any words were read; 692f3ed619SDag-Erling Smørgrav.Va errno 702f3ed619SDag-Erling Smørgravis 712f3ed619SDag-Erling Smørgravzero, 722f3ed619SDag-Erling Smørgrav.Xr ferror 3 732f3ed619SDag-Erling Smørgravreturns zero, and 742f3ed619SDag-Erling Smørgrav.Xr feof 3 752f3ed619SDag-Erling Smørgravreturns a non-zero value. 762f3ed619SDag-Erling Smørgrav.It 772f3ed619SDag-Erling SmørgravThe end of the file was reached while a quote or backslash escape 782f3ed619SDag-Erling Smørgravwas in effect; 792f3ed619SDag-Erling Smørgrav.Va errno 802f3ed619SDag-Erling Smørgravis set to 812f3ed619SDag-Erling Smørgrav.Dv EINVAL , 822f3ed619SDag-Erling Smørgrav.Xr ferror 3 832f3ed619SDag-Erling Smørgravreturns zero, and 842f3ed619SDag-Erling Smørgrav.Xr feof 3 852f3ed619SDag-Erling Smørgravreturns a non-zero value. 862f3ed619SDag-Erling Smørgrav.It 872f3ed619SDag-Erling SmørgravAn error occurred while reading from the file; 882f3ed619SDag-Erling Smørgrav.Va errno 892f3ed619SDag-Erling Smørgravis non-zero, 902f3ed619SDag-Erling Smørgrav.Xr ferror 3 912f3ed619SDag-Erling Smørgravreturns a non-zero value and 922f3ed619SDag-Erling Smørgrav.Xr feof 3 932f3ed619SDag-Erling Smørgravreturns zero. 942f3ed619SDag-Erling Smørgrav.It 952f3ed619SDag-Erling SmørgravA 962f3ed619SDag-Erling Smørgrav.Xr malloc 3 972f3ed619SDag-Erling Smørgravor 982f3ed619SDag-Erling Smørgrav.Xr realloc 3 992f3ed619SDag-Erling Smørgravcall failed; 1002f3ed619SDag-Erling Smørgrav.Va errno 1012f3ed619SDag-Erling Smørgravis set to 1022f3ed619SDag-Erling Smørgrav.Dv ENOMEM , 1032f3ed619SDag-Erling Smørgrav.Xr ferror 3 1042f3ed619SDag-Erling Smørgravreturns a non-zero value, and 1052f3ed619SDag-Erling Smørgrav.Xr feof 3 1062f3ed619SDag-Erling Smørgravmay or may not return 1072f3ed619SDag-Erling Smørgrava non-zero value. 1082f3ed619SDag-Erling Smørgrav.El 1092f3ed619SDag-Erling Smørgrav.Sh SEE ALSO 1102f3ed619SDag-Erling Smørgrav.Xr openpam_readline 3 , 1112f3ed619SDag-Erling Smørgrav.Xr openpam_readword 3 , 1122f3ed619SDag-Erling Smørgrav.Xr pam 3 1132f3ed619SDag-Erling Smørgrav.Sh STANDARDS 1142f3ed619SDag-Erling SmørgravThe 1152f3ed619SDag-Erling Smørgrav.Fn openpam_readlinev 1162f3ed619SDag-Erling Smørgravfunction is an OpenPAM extension. 1172f3ed619SDag-Erling Smørgrav.Sh AUTHORS 1182f3ed619SDag-Erling SmørgravThe 1192f3ed619SDag-Erling Smørgrav.Fn openpam_readlinev 1202f3ed619SDag-Erling Smørgravfunction and this manual page were 1212f3ed619SDag-Erling Smørgravdeveloped by 122f3b0ac34SDag-Erling Smørgrav.An Dag-Erling Sm\(/orgrav Aq Mt des@des.no . 123