windows-nt/Source/XPSP1/NT/base/crts/crtw32/stdio/feoferr.c
2020-09-26 16:20:57 +08:00

80 lines
1.8 KiB
C

/***
*feoferr.c - defines feof() and ferror()
*
* Copyright (c) 1989-2001, Microsoft Corporation. All rights reserved.
*
*Purpose:
* Defines feof() (test for end-of-file on a stream) and ferror() (test
* for error on a stream).
*
*Revision History:
* 03-13-89 GJF Module created
* 03-27-89 GJF Moved to 386 tree
* 02-15-90 GJF Fixed copyright
* 03-16-90 GJF Made calling type _CALLTYPE1 and added #include
* <cruntime.h>.
* 10-02-90 GJF New-style function declarators.
* 04-06-93 SKS Replace _CRTAPI* with __cdecl
*
*******************************************************************************/
#include <cruntime.h>
#include <stdio.h>
/* remove macro definitions for feof() and ferror()
*/
#undef feof
#undef ferror
/***
*int feof(stream) - test for end-of-file on stream
*
*Purpose:
* Tests whether or not the given stream is at end-of-file. Normally
* feof() is a macro, but it must also be available as a true function
* for ANSI.
*
*Entry:
* FILE *stream - stream to test
*
*Exit:
* returns nonzero (_IOEOF to be more precise) if and only if the stream
* is at end-of-file
*
*Exceptions:
*
*******************************************************************************/
int __cdecl feof (
FILE *stream
)
{
return( ((stream)->_flag & _IOEOF) );
}
/***
*int ferror(stream) - test error indicator on stream
*
*Purpose:
* Tests the error indicator for the given stream. Normally, feof() is
* a macro, but it must also be available as a true function for ANSI.
*
*Entry:
* FILE *stream - stream to test
*
*Exit:
* returns nonzero (_IOERR to be more precise) if and only if the error
* indicator for the stream is set.
*
*Exceptions:
*
*******************************************************************************/
int __cdecl ferror (
FILE *stream
)
{
return( ((stream)->_flag & _IOERR) );
}