X-Git-Url: https://pd.if.org/git/?a=blobdiff_plain;f=functions%2F_PDCLIB%2Fprepread.c;h=6ce38d90d2779659b62b1700fe30a7dae4436cc9;hb=b76c255d42904c10ce65f884429b4bf2f9b4f4a4;hp=53a2976dd403bd5fc11308f68a22a758473c062d;hpb=393020b6e48719d27699dea6b29e53025bbd5123;p=pdclib diff --git a/functions/_PDCLIB/prepread.c b/functions/_PDCLIB/prepread.c index 53a2976..6ce38d9 100644 --- a/functions/_PDCLIB/prepread.c +++ b/functions/_PDCLIB/prepread.c @@ -7,8 +7,8 @@ */ #include +#include -#define _PDCLIB_GLUE_H _PDCLIB_GLUE_H #include <_PDCLIB_glue.h> int _PDCLIB_prepread( struct _PDCLIB_file_t * stream ) @@ -17,7 +17,11 @@ int _PDCLIB_prepread( struct _PDCLIB_file_t * stream ) ( stream->status & ( _PDCLIB_FWRITE | _PDCLIB_FAPPEND | _PDCLIB_ERRORFLAG | _PDCLIB_WIDESTREAM | _PDCLIB_EOFFLAG ) ) || ! ( stream->status & ( _PDCLIB_FREAD | _PDCLIB_FRW ) ) ) { - _PDCLIB_errno = _PDCLIB_EIO; + /* Function called on illegal (e.g. output) stream. + See comments on implementation-defined errno values in + <_PDCLIB_config.h>. + */ + errno = EINVAL; stream->status |= _PDCLIB_ERRORFLAG; return EOF; } @@ -32,3 +36,14 @@ int _PDCLIB_prepread( struct _PDCLIB_file_t * stream ) } } +#ifdef TEST +#include <_PDCLIB_test.h> + +int main( void ) +{ + /* Testing covered by ftell.c */ + return TEST_RESULTS; +} + +#endif +