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