xref: /freebsd/contrib/openpam/doc/man/openpam_readlinev.3 (revision 3ba4c8c81a28de3e00ccf6d7f92c6f8e58bef456)
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