Loading...
--- Libc/Libc-583/stdio/setbuf.3
+++ Libc/Libc-262.3.2/stdio/setbuf.3
@@ -34,7 +34,7 @@
.\" SUCH DAMAGE.
.\"
.\" @(#)setbuf.3 8.1 (Berkeley) 6/4/93
-.\" $FreeBSD: src/lib/libc/stdio/setbuf.3,v 1.15 2004/08/24 21:48:21 alfred Exp $
+.\" $FreeBSD: src/lib/libc/stdio/setbuf.3,v 1.10 2001/10/01 16:08:59 ru Exp $
.\"
.Dd June 4, 1993
.Dt SETBUF 3
@@ -50,57 +50,41 @@
.Sh SYNOPSIS
.In stdio.h
.Ft void
-.Fo setbuf
-.Fa "FILE *restrict stream"
-.Fa "char *restrict buf"
-.Fc
+.Fn setbuf "FILE *stream" "char *buf"
.Ft void
-.Fo setbuffer
-.Fa "FILE *stream"
-.Fa "char *buf"
-.Fa "int size"
-.Fc
+.Fn setbuffer "FILE *stream" "char *buf" "int size"
.Ft int
-.Fo setlinebuf
-.Fa "FILE *stream"
-.Fc
+.Fn setlinebuf "FILE *stream"
.Ft int
-.Fo setvbuf
-.Fa "FILE *restrict stream"
-.Fa "char *restrict buf"
-.Fa "int type"
-.Fa "size_t size"
-.Fc
+.Fn setvbuf "FILE *stream" "char *buf" "int mode" "size_t size"
.Sh DESCRIPTION
-Three types of buffering are available:
-unbuffered, block buffered, and line buffered.
+The three types of buffering available are unbuffered, block buffered,
+and line buffered.
When an output stream is unbuffered, information appears on the
destination file or terminal as soon as written;
-when it is block buffered,
-many characters are saved up and written as a block;
-when it is line buffered,
-characters are saved up until a newline is output
-or input is read from any stream attached to a terminal device
-(typically
-.Dv stdin ) .
+when it is block buffered many characters are saved up and written as a block;
+when it is line buffered characters are saved up until a newline is
+output or input is read from any stream attached to a terminal device
+(typically stdin).
The function
.Xr fflush 3
may be used to force the block out early.
(See
.Xr fclose 3 . )
.Pp
-Normally, all files are block buffered.
+Normally all files are block buffered.
When the first
.Tn I/O
operation occurs on a file,
.Xr malloc 3
-is called and an optimally-sized buffer is obtained.
+is called,
+and an optimally-sized buffer is obtained.
If a stream refers to a terminal
(as
-.Dv stdout
-normally does), it is line buffered.
+.Em stdout
+normally does) it is line buffered.
The standard error stream
-.Dv stderr
+.Em stderr
is always unbuffered.
.Pp
The
@@ -108,8 +92,8 @@
function
may be used to alter the buffering behavior of a stream.
The
-.Fa type
-argument must be one of the following three macros:
+.Fa mode
+parameter must be one of the following three macros:
.Bl -tag -width _IOFBF -offset indent
.It Dv _IONBF
unbuffered
@@ -121,7 +105,7 @@
.Pp
The
.Fa size
-argument may be given as zero
+parameter may be given as zero
to obtain deferred optimal-size buffer allocation as usual.
If it is not zero,
then except for unbuffered files, the
@@ -130,11 +114,6 @@
.Fa size
bytes long;
this buffer will be used instead of the current buffer.
-If
-.Fa buf
-is not NULL, it is the caller's responsibility to
-.Xr free 3
-this buffer after closing the stream.
(If the
.Fa size
argument