BSD 4_4_Lite1 release
[unix-history] / usr / src / lib / libc / stdio / fgetln.3
index 08420ff..60089ea 100644 (file)
@@ -1,34 +1,64 @@
-.\" Copyright (c) 1990, 1991 The Regents of the University of California.
-.\" All rights reserved.
+.\" Copyright (c) 1990, 1991, 1993
+.\"    The Regents of the University of California.  All rights reserved.
 .\"
 .\"
-.\" %sccs.include.redist.man%
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\"    notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\"    notice, this list of conditions and the following disclaimer in the
+.\"    documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\"    must display the following acknowledgement:
+.\"    This product includes software developed by the University of
+.\"    California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\"    may be used to endorse or promote products derived from this software
+.\"    without specific prior written permission.
 .\"
 .\"
-.\"     @(#)fgetln.3   5.4 (Berkeley) %G%
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
 .\"
 .\"
-.Dd 
-.Dt FGETLINE 3
+.\"     @(#)fgetln.3   8.3 (Berkeley) 4/19/94
+.\"
+.Dd April 19, 1994
+.Dt FGETLN 3
 .Os
 .Sh NAME
 .Os
 .Sh NAME
-.Nm fgetline
+.Nm fgetln
 .Nd get a line from a stream
 .Sh SYNOPSIS
 .Fd #include <stdio.h>
 .Ft char *
 .Nd get a line from a stream
 .Sh SYNOPSIS
 .Fd #include <stdio.h>
 .Ft char *
-.Fn fgetline "FILE *stream" "size_t *len"
+.Fn fgetln "FILE *stream" "size_t *len"
 .Sh DESCRIPTION
 The
 .Sh DESCRIPTION
 The
-.Fn fgetline
+.Fn fgetln
 function
 returns a pointer to the next line from the stream referenced by
 .Fa stream .
 function
 returns a pointer to the next line from the stream referenced by
 .Fa stream .
-The newline character at the end of the line is replaced by a
-.Dv NUL .
-.Pp
-If
+This line is
+.Em not
+a C string as it does not end with a terminating
+.Dv NUL
+character.
+The length of the line, including the final newline,
+is stored in the memory location to which
 .Fa len
 .Fa len
-is non-NULL, the length of the line, not counting the terminating
-.Dv NUL ,
-is stored in the memory location it references.
+points.
+(Note, however, that if the line is the last
+in a file that does not end in a newline,
+the returned text will not contain a newline.)
 .Sh RETURN VALUES
 Upon successful completion a pointer is returned;
 this pointer becomes invalid after the next
 .Sh RETURN VALUES
 Upon successful completion a pointer is returned;
 this pointer becomes invalid after the next
@@ -41,7 +71,7 @@ Otherwise,
 .Dv NULL
 is returned.
 The
 .Dv NULL
 is returned.
 The
-.Fn fgetline
+.Fn fgetln
 function
 does not distinguish between end-of-file and error; the routines
 .Xr feof 3
 function
 does not distinguish between end-of-file and error; the routines
 .Xr feof 3
@@ -49,7 +79,7 @@ and
 .Xr ferror 3
 must be used
 to determine which occurred.
 .Xr ferror 3
 must be used
 to determine which occurred.
-If an error occurrs, the global variable
+If an error occurs, the global variable
 .Va errno
 is set to indicate the error.
 The end-of-file condition is remembered, even on a terminal, and all
 .Va errno
 is set to indicate the error.
 The end-of-file condition is remembered, even on a terminal, and all
@@ -60,8 +90,7 @@ cleared with
 .Xr clearerr 3 .
 .Pp
 The text to which the returned pointer points may be modified,
 .Xr clearerr 3 .
 .Pp
 The text to which the returned pointer points may be modified,
-provided that no changes are made beyond the terminating
-.Dv NUL .
+provided that no changes are made beyond the returned size.
 These changes are lost as soon as the pointer becomes invalid.
 .Sh ERRORS
 .Bl -tag -width [EBADF]
 These changes are lost as soon as the pointer becomes invalid.
 .Sh ERRORS
 .Bl -tag -width [EBADF]
@@ -72,7 +101,7 @@ is not a stream open for reading.
 .El
 .Pp
 The
 .El
 .Pp
 The
-.Fn fgetline
+.Fn fgetln
 function
 may also fail and set
 .Va errno
 function
 may also fail and set
 .Va errno
@@ -90,9 +119,5 @@ or
 .Xr putc 3
 .Sh HISTORY
 The
 .Xr putc 3
 .Sh HISTORY
 The
-.Fn fgetline
-function is
-.Ud .
-.Sh BUGS
-It is not possible to tell whether the final line of an input file
-was terminated with a newline.
+.Fn fgetln
+function first appeared in 4.4BSD.