2002-05-24 06:05:54 +08:00
|
|
|
/*
|
|
|
|
* Copyright (c) 1990 The Regents of the University of California.
|
|
|
|
* All rights reserved.
|
|
|
|
*
|
|
|
|
* Redistribution and use in source and binary forms are permitted
|
|
|
|
* provided that the above copyright notice and this paragraph are
|
|
|
|
* duplicated in all such forms and that any documentation,
|
2020-01-29 02:54:53 +08:00
|
|
|
* and/or other materials related to such
|
2002-05-24 06:05:54 +08:00
|
|
|
* distribution and use acknowledge that the software was developed
|
|
|
|
* by the University of California, Berkeley. The name of the
|
|
|
|
* University may not be used to endorse or promote products derived
|
|
|
|
* from this software without specific prior written permission.
|
|
|
|
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
|
|
|
|
* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
|
|
|
|
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
|
|
|
*/
|
|
|
|
/*
|
|
|
|
Modified copy of setbuf.c to support setlinebuf function
|
|
|
|
defined as part of BSD.
|
|
|
|
Modifications by Gareth Pearce, 2001.
|
|
|
|
*/
|
|
|
|
|
|
|
|
/*
|
|
|
|
FUNCTION
|
|
|
|
<<setlinebuf>>---specify line buffering for a file or stream
|
|
|
|
|
|
|
|
INDEX
|
|
|
|
setlinebuf
|
|
|
|
|
2017-11-30 16:05:02 +08:00
|
|
|
SYNOPSIS
|
2002-05-24 06:05:54 +08:00
|
|
|
#include <stdio.h>
|
|
|
|
void setlinebuf(FILE *<[fp]>);
|
|
|
|
|
|
|
|
DESCRIPTION
|
|
|
|
<<setlinebuf>> specifies that output to the file or stream identified by
|
|
|
|
<[fp]> should be line buffered. This causes the file or stream to pass
|
|
|
|
on output to the host system at every newline, as well as when the
|
|
|
|
buffer is full, or when an input operation intervenes.
|
|
|
|
|
|
|
|
WARNINGS
|
|
|
|
You may only use <<setlinebuf>> before performing any file operation
|
|
|
|
other than opening the file.
|
|
|
|
|
|
|
|
RETURNS
|
|
|
|
<<setlinebuf>> returns as per setvbuf.
|
|
|
|
|
|
|
|
PORTABILITY
|
|
|
|
This function comes from BSD not ANSI or POSIX.
|
|
|
|
|
|
|
|
Supporting OS subroutines required: <<close>>, <<fstat>>, <<isatty>>,
|
|
|
|
<<lseek>>, <<read>>, <<sbrk>>, <<write>>.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#include <_ansi.h>
|
|
|
|
#include <stdio.h>
|
|
|
|
#include "local.h"
|
|
|
|
|
|
|
|
int
|
2017-12-04 11:43:30 +08:00
|
|
|
setlinebuf (FILE * fp)
|
2002-05-24 06:05:54 +08:00
|
|
|
{
|
|
|
|
return (setvbuf (fp, (char *) NULL, _IOLBF, (size_t) 0));
|
|
|
|
}
|