]> git.saurik.com Git - apple/libc.git/blame - stdio/fgetln.3
Libc-262.3.2.tar.gz
[apple/libc.git] / stdio / fgetln.3
CommitLineData
5b2abdfb 1.\" Copyright (c) 1990, 1991, 1993
e9ce8d39
A
2.\" The Regents of the University of California. All rights reserved.
3.\"
4.\" Redistribution and use in source and binary forms, with or without
5.\" modification, are permitted provided that the following conditions
6.\" are met:
7.\" 1. Redistributions of source code must retain the above copyright
8.\" notice, this list of conditions and the following disclaimer.
9.\" 2. Redistributions in binary form must reproduce the above copyright
10.\" notice, this list of conditions and the following disclaimer in the
11.\" documentation and/or other materials provided with the distribution.
12.\" 3. All advertising materials mentioning features or use of this software
13.\" must display the following acknowledgement:
14.\" This product includes software developed by the University of
15.\" California, Berkeley and its contributors.
16.\" 4. Neither the name of the University nor the names of its contributors
17.\" may be used to endorse or promote products derived from this software
18.\" without specific prior written permission.
19.\"
20.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
21.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
24.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30.\" SUCH DAMAGE.
31.\"
5b2abdfb
A
32.\" @(#)fgetln.3 8.3 (Berkeley) 4/19/94
33.\" $FreeBSD: src/lib/libc/stdio/fgetln.3,v 1.7 2001/10/01 16:08:59 ru Exp $
e9ce8d39 34.\"
5b2abdfb
A
35.Dd April 19, 1994
36.Dt FGETLN 3
e9ce8d39
A
37.Os
38.Sh NAME
5b2abdfb
A
39.Nm fgetln
40.Nd get a line from a stream
e9ce8d39
A
41.Sh LIBRARY
42.Lb libc
43.Sh SYNOPSIS
5b2abdfb
A
44.In stdio.h
45.Ft char *
46.Fn fgetln "FILE *stream" "size_t *len"
e9ce8d39
A
47.Sh DESCRIPTION
48The
5b2abdfb
A
49.Fn fgetln
50function
51returns a pointer to the next line from the stream referenced by
52.Fa stream .
53This line is
54.Em not
55a C string as it does not end with a terminating
56.Dv NUL
57character.
58The length of the line, including the final newline,
59is stored in the memory location to which
e9ce8d39 60.Fa len
5b2abdfb
A
61points.
62(Note, however, that if the line is the last
63in a file that does not end in a newline,
64the returned text will not contain a newline.)
e9ce8d39 65.Sh RETURN VALUES
5b2abdfb
A
66Upon successful completion a pointer is returned;
67this pointer becomes invalid after the next
68.Tn I/O
69operation on
70.Fa stream
71(whether successful or not)
72or as soon as the stream is closed.
73Otherwise,
74.Dv NULL
75is returned.
76The
77.Fn fgetln
78function
79does not distinguish between end-of-file and error; the routines
80.Xr feof 3
81and
82.Xr ferror 3
83must be used
84to determine which occurred.
85If an error occurs, the global variable
86.Va errno
87is set to indicate the error.
88The end-of-file condition is remembered, even on a terminal, and all
89subsequent attempts to read will return
90.Dv NULL
91until the condition is
92cleared with
93.Xr clearerr 3 .
94.Pp
95The text to which the returned pointer points may be modified,
96provided that no changes are made beyond the returned size.
97These changes are lost as soon as the pointer becomes invalid.
e9ce8d39 98.Sh ERRORS
e9ce8d39 99.Bl -tag -width Er
5b2abdfb
A
100.It Bq Er EBADF
101The argument
102.Fa stream
103is not a stream open for reading.
104.El
105.Pp
106The
107.Fn fgetln
108function
109may also fail and set
110.Va errno
111for any of the errors specified for the routines
112.Xr fflush 3 ,
113.Xr malloc 3 ,
114.Xr read 2 ,
115.Xr stat 2 ,
116or
117.Xr realloc 3 .
e9ce8d39 118.Sh SEE ALSO
5b2abdfb
A
119.Xr ferror 3 ,
120.Xr fgets 3 ,
121.Xr fopen 3 ,
122.Xr putc 3
e9ce8d39
A
123.Sh HISTORY
124The
5b2abdfb 125.Fn fgetln
e9ce8d39
A
126function first appeared in
127.Bx 4.4 .