xref: /dflybsd-src/contrib/openpam/doc/man/openpam_readlinev.3 (revision 4c84ab30f7dd59ef873b5a6d4e27bcea89d9f848)
110b5fe87SSascha Wildner.\" Generated from openpam_readlinev.c by gendoc.pl
210b5fe87SSascha Wildner.\" $OpenPAM: openpam_readlinev.c 938 2017-04-30 21:34:42Z des $
3*4c84ab30SSascha Wildner.Dd February 24, 2019
4577efdeeSPeter Avalos.Dt OPENPAM_READLINEV 3
5577efdeeSPeter Avalos.Os
6577efdeeSPeter Avalos.Sh NAME
7577efdeeSPeter Avalos.Nm openpam_readlinev
8577efdeeSPeter Avalos.Nd read a line from a file and split it into words
9577efdeeSPeter Avalos.Sh SYNOPSIS
10577efdeeSPeter Avalos.In sys/types.h
11577efdeeSPeter Avalos.In stdio.h
12577efdeeSPeter Avalos.In security/pam_appl.h
13577efdeeSPeter Avalos.In security/openpam.h
14577efdeeSPeter Avalos.Ft "char **"
15577efdeeSPeter Avalos.Fn openpam_readlinev "FILE *f" "int *lineno" "int *lenp"
16577efdeeSPeter Avalos.Sh DESCRIPTION
17577efdeeSPeter AvalosThe
18577efdeeSPeter Avalos.Fn openpam_readlinev
19577efdeeSPeter Avalosfunction reads a line from a file, splits it
20577efdeeSPeter Avalosinto words according to the rules described in the
21577efdeeSPeter Avalos.Xr openpam_readword 3
22577efdeeSPeter Avalosmanual page, and returns a list of those words.
23577efdeeSPeter Avalos.Pp
24577efdeeSPeter AvalosIf
25577efdeeSPeter Avalos.Fa lineno
26577efdeeSPeter Avalosis not
27577efdeeSPeter Avalos.Dv NULL ,
28577efdeeSPeter Avalosthe integer variable it points to is
29577efdeeSPeter Avalosincremented every time a newline character is read.
30577efdeeSPeter AvalosThis includes quoted or escaped newline characters and the newline
31577efdeeSPeter Avaloscharacter at the end of the line.
32577efdeeSPeter Avalos.Pp
33577efdeeSPeter AvalosIf
34577efdeeSPeter Avalos.Fa lenp
35577efdeeSPeter Avalosis not
36577efdeeSPeter Avalos.Dv NULL ,
37577efdeeSPeter Avalosthe number of words on the line is stored in the
38577efdeeSPeter Avalosvariable to which it points.
39577efdeeSPeter Avalos.Sh RETURN VALUES
40577efdeeSPeter AvalosIf successful, the
41577efdeeSPeter Avalos.Fn openpam_readlinev
42577efdeeSPeter Avalosfunction returns a pointer to a
43577efdeeSPeter Avalosdynamically allocated array of pointers to individual dynamically
44577efdeeSPeter Avalosallocated NUL-terminated strings, each containing a single word, in the
45577efdeeSPeter Avalosorder in which they were encountered on the line.
46577efdeeSPeter AvalosThe array is terminated by a
47577efdeeSPeter Avalos.Dv NULL
48577efdeeSPeter Avalospointer.
49577efdeeSPeter Avalos.Pp
50577efdeeSPeter AvalosThe caller is responsible for freeing both the array and the individual
51577efdeeSPeter Avalosstrings by passing each of them to
52577efdeeSPeter Avalos.Xr free 3 .
53577efdeeSPeter Avalos.Pp
54577efdeeSPeter AvalosIf the end of the line was reached before any words were read,
55577efdeeSPeter Avalos.Fn openpam_readlinev
56577efdeeSPeter Avalosreturns a pointer to a dynamically allocated array
57577efdeeSPeter Avaloscontaining a single
58577efdeeSPeter Avalos.Dv NULL
59577efdeeSPeter Avalospointer.
60577efdeeSPeter Avalos.Pp
61577efdeeSPeter AvalosThe
62577efdeeSPeter Avalos.Fn openpam_readlinev
63577efdeeSPeter Avalosfunction can fail and return
64577efdeeSPeter Avalos.Dv NULL
65577efdeeSPeter Avalosfor one of
66577efdeeSPeter Avalosfour reasons:
67577efdeeSPeter Avalos.Bl -bullet
68577efdeeSPeter Avalos.It
69577efdeeSPeter AvalosThe end of the file was reached before any words were read;
70577efdeeSPeter Avalos.Va errno
71577efdeeSPeter Avalosis
72577efdeeSPeter Avaloszero,
73577efdeeSPeter Avalos.Xr ferror 3
74577efdeeSPeter Avalosreturns zero, and
75577efdeeSPeter Avalos.Xr feof 3
76577efdeeSPeter Avalosreturns a non-zero value.
77577efdeeSPeter Avalos.It
78577efdeeSPeter AvalosThe end of the file was reached while a quote or backslash escape
79577efdeeSPeter Avaloswas in effect;
80577efdeeSPeter Avalos.Va errno
81577efdeeSPeter Avalosis set to
82577efdeeSPeter Avalos.Dv EINVAL ,
83577efdeeSPeter Avalos.Xr ferror 3
84577efdeeSPeter Avalosreturns zero, and
85577efdeeSPeter Avalos.Xr feof 3
86577efdeeSPeter Avalosreturns a non-zero value.
87577efdeeSPeter Avalos.It
88577efdeeSPeter AvalosAn error occurred while reading from the file;
89577efdeeSPeter Avalos.Va errno
90577efdeeSPeter Avalosis non-zero,
91577efdeeSPeter Avalos.Xr ferror 3
92577efdeeSPeter Avalosreturns a non-zero value and
93577efdeeSPeter Avalos.Xr feof 3
94577efdeeSPeter Avalosreturns zero.
95577efdeeSPeter Avalos.It
96577efdeeSPeter AvalosA
97577efdeeSPeter Avalos.Xr malloc 3
98577efdeeSPeter Avalosor
99577efdeeSPeter Avalos.Xr realloc 3
100577efdeeSPeter Avaloscall failed;
101577efdeeSPeter Avalos.Va errno
102577efdeeSPeter Avalosis set to
103577efdeeSPeter Avalos.Dv ENOMEM ,
104577efdeeSPeter Avalos.Xr ferror 3
105577efdeeSPeter Avalosreturns a non-zero value, and
106577efdeeSPeter Avalos.Xr feof 3
107577efdeeSPeter Avalosmay or may not return
108577efdeeSPeter Avalosa non-zero value.
109577efdeeSPeter Avalos.El
110577efdeeSPeter Avalos.Sh SEE ALSO
111577efdeeSPeter Avalos.Xr openpam_readline 3 ,
112577efdeeSPeter Avalos.Xr openpam_readword 3 ,
113577efdeeSPeter Avalos.Xr pam 3
114577efdeeSPeter Avalos.Sh STANDARDS
115577efdeeSPeter AvalosThe
116577efdeeSPeter Avalos.Fn openpam_readlinev
117577efdeeSPeter Avalosfunction is an OpenPAM extension.
118577efdeeSPeter Avalos.Sh AUTHORS
119577efdeeSPeter AvalosThe
120577efdeeSPeter Avalos.Fn openpam_readlinev
121577efdeeSPeter Avalosfunction and this manual page were
122577efdeeSPeter Avalosdeveloped by
12310b5fe87SSascha Wildner.An Dag-Erling Sm\(/orgrav Aq Mt des@des.no .
124