Provided by: manpages-dev_4.15-1_all bug

NAME

       fpurge, __fpurge - purge a stream

SYNOPSIS

       /* unsupported */
       #include <stdio.h>

       int fpurge(FILE *stream);

       /* supported */
       #include <stdio.h>
       #include <stdio_ext.h>

       void  __fpurge(FILE *stream);

DESCRIPTION

       The  function  fpurge()  clears  the buffers of the given stream.  For output streams this
       discards any unwritten output.  For input streams this discards any input  read  from  the
       underlying object but not yet obtained via getc(3); this includes any text pushed back via
       ungetc(3).  See also fflush(3).

       The function __fpurge() does precisely the same, but without returning a value.

RETURN VALUE

       Upon successful completion fpurge() returns 0.  On error, it returns  -1  and  sets  errno
       appropriately.

ERRORS

       EBADF  stream is not an open stream.

ATTRIBUTES

       For an explanation of the terms used in this section, see attributes(7).

       ┌───────────┬───────────────┬─────────────────────┐
       │InterfaceAttributeValue               │
       ├───────────┼───────────────┼─────────────────────┤
       │__fpurge() │ Thread safety │ MT-Safe race:stream │
       └───────────┴───────────────┴─────────────────────┘

CONFORMING TO

       These functions are nonstandard and not portable.  The function fpurge() was introduced in
       4.4BSD and is not available under  Linux.   The  function  __fpurge()  was  introduced  in
       Solaris, and is present in glibc 2.1.95 and later.

NOTES

       Usually it is a mistake to want to discard input buffers.

SEE ALSO

       fflush(3), setbuf(3), stdio_ext(3)

COLOPHON

       This  page  is  part of release 4.15 of the Linux man-pages project.  A description of the
       project, information about reporting bugs, and the latest version of  this  page,  can  be
       found at https://www.kernel.org/doc/man-pages/.

                                            2017-09-15                                  FPURGE(3)