X-Git-Url: https://pd.if.org/git/?a=blobdiff_plain;f=functions%2F_PDCLIB%2Fprepread.c;h=cf1c2dfe53b7948d0b68619021fd72a6062b9569;hb=219271fd548949abce8bd75c34dd42e519418fc4;hp=53a2976dd403bd5fc11308f68a22a758473c062d;hpb=393020b6e48719d27699dea6b29e53025bbd5123;p=pdclib diff --git a/functions/_PDCLIB/prepread.c b/functions/_PDCLIB/prepread.c index 53a2976..cf1c2df 100644 --- a/functions/_PDCLIB/prepread.c +++ b/functions/_PDCLIB/prepread.c @@ -7,8 +7,9 @@ */ #include +#include -#define _PDCLIB_GLUE_H _PDCLIB_GLUE_H +#ifndef REGTEST #include <_PDCLIB_glue.h> int _PDCLIB_prepread( struct _PDCLIB_file_t * stream ) @@ -17,7 +18,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; } @@ -31,4 +36,16 @@ int _PDCLIB_prepread( struct _PDCLIB_file_t * stream ) return 0; } } +#endif + +#ifdef TEST +#include <_PDCLIB_test.h> + +int main( void ) +{ + /* Testing covered by ftell.c */ + return TEST_RESULTS; +} + +#endif