| /* Copyright (C) 2004       Manuel Novoa III    <mjn3@codepoet.org> | 
 |  * | 
 |  * GNU Library General Public License (LGPL) version 2 or later. | 
 |  * | 
 |  * Dedicated to Toni.  See uClibc/DEDICATION.mjn3 for details. | 
 |  */ | 
 |  | 
 | #include "_stdio.h" | 
 | #include <stdio_ext.h> | 
 |  | 
 | /* Solaris function -- | 
 |  * Discard all buffered data whether reading or writing. | 
 |  */ | 
 |  | 
 | void __fpurge(register FILE * __restrict stream) | 
 | { | 
 | 	__STDIO_STREAM_VALIDATE(stream); | 
 |  | 
 | 	__STDIO_STREAM_DISABLE_GETC(stream); | 
 | 	__STDIO_STREAM_DISABLE_PUTC(stream); | 
 | 	__STDIO_STREAM_INIT_BUFREAD_BUFPOS(stream); | 
 | 	stream->__ungot[1] = 0; | 
 |  | 
 | #ifdef __STDIO_MBSTATE | 
 | 	__INIT_MBSTATE(&(stream->__state)); | 
 | #endif | 
 | #ifdef __UCLIBC_HAS_WCHAR__ | 
 | 	stream->__ungot_width[0] = 0; | 
 | #endif | 
 |  | 
 | 	stream->__modeflags &= ~(__MASK_READING|__FLAG_WRITING); | 
 |  | 
 | 	__STDIO_STREAM_VALIDATE(stream); | 
 | } |