mirror of
git://sourceware.org/git/newlib-cygwin.git
synced 2025-01-30 02:50:25 +08:00
* libc/include/stdio_ext.h: New header.
* libc/stdio/fpurge.c [!__rtems__] (__fpurge): New function.
This commit is contained in:
parent
503ff5adc1
commit
831826db94
@ -1,3 +1,8 @@
|
||||
2011-05-19 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
|
||||
|
||||
* libc/include/stdio_ext.h: New header.
|
||||
* libc/stdio/fpurge.c [!__rtems__] (__fpurge): New function.
|
||||
|
||||
2011-05-19 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
|
||||
|
||||
* Makefile.am (install-data-local): Fix condition and rm call.
|
||||
|
22
newlib/libc/include/stdio_ext.h
Normal file
22
newlib/libc/include/stdio_ext.h
Normal file
@ -0,0 +1,22 @@
|
||||
/*
|
||||
* stdio_ext.h
|
||||
*
|
||||
* Definitions for I/O internal operations, originally from Solaris.
|
||||
*/
|
||||
|
||||
#ifndef _STDIO_EXT_H_
|
||||
#define _STDIO_EXT_H_
|
||||
|
||||
#ifdef __rtems__
|
||||
#error "<stdio_ext.h> not supported"
|
||||
#endif
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
_BEGIN_STD_C
|
||||
|
||||
void _EXFUN(__fpurge,(FILE *));
|
||||
|
||||
_END_STD_C
|
||||
|
||||
#endif /* _STDIO_EXT_H_ */
|
@ -11,6 +11,8 @@ INDEX
|
||||
fpurge
|
||||
INDEX
|
||||
_fpurge_r
|
||||
INDEX
|
||||
__fpurge
|
||||
|
||||
ANSI_SYNOPSIS
|
||||
#include <stdio.h>
|
||||
@ -18,6 +20,11 @@ ANSI_SYNOPSIS
|
||||
|
||||
int _fpurge_r(struct _reent *<[reent]>, FILE *<[fp]>);
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdio_ext.h>
|
||||
void __fpurge(FILE *<[fp]>);
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
Use <<fpurge>> to clear all buffers of the given stream. For output
|
||||
streams, this discards data not yet written to disk. For input streams,
|
||||
@ -26,6 +33,8 @@ but not yet read via <<getc>>. This is more severe than <<fflush>>,
|
||||
and generally is only needed when manually altering the underlying file
|
||||
descriptor of a stream.
|
||||
|
||||
<<__fpurge>> behaves exactly like <<fpurge>> but does not return a value.
|
||||
|
||||
The alternate function <<_fpurge_r>> is a reentrant version, where the
|
||||
extra argument <[reent]> is a pointer to a reentrancy structure, and
|
||||
<[fp]> must not be NULL.
|
||||
@ -42,6 +51,9 @@ No supporting OS subroutines are required.
|
||||
|
||||
#include <_ansi.h>
|
||||
#include <stdio.h>
|
||||
#ifndef __rtems__
|
||||
#include <stdio_ext.h>
|
||||
#endif
|
||||
#include <errno.h>
|
||||
#include "local.h"
|
||||
|
||||
@ -87,4 +99,15 @@ _DEFUN(fpurge, (fp),
|
||||
return _fpurge_r (_REENT, fp);
|
||||
}
|
||||
|
||||
#ifndef __rtems__
|
||||
|
||||
void
|
||||
_DEFUN(__fpurge, (fp),
|
||||
register FILE * fp)
|
||||
{
|
||||
_fpurge_r (_REENT, fp);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
#endif /* _REENT_ONLY */
|
||||
|
Loading…
x
Reference in New Issue
Block a user