X-Git-Url: https://pd.if.org/git/?a=blobdiff_plain;f=functions%2F_PDCLIB%2Fprepwrite.c;h=a901ccdaed39f10e4674ad727696c49c1341016e;hb=2040228f27d623585d339dec175c4e779ca9edb5;hp=774aeb21b29722917a3b18d2a41f9e75d75f7c5a;hpb=393020b6e48719d27699dea6b29e53025bbd5123;p=pdclib diff --git a/functions/_PDCLIB/prepwrite.c b/functions/_PDCLIB/prepwrite.c index 774aeb2..a901ccd 100644 --- a/functions/_PDCLIB/prepwrite.c +++ b/functions/_PDCLIB/prepwrite.c @@ -1,5 +1,3 @@ -/* $Id$ */ - /* _PDCLIB_prepwrite( struct _PDCLIB_file_t * ) This file is part of the Public Domain C Library (PDCLib). @@ -8,13 +6,19 @@ #include +#ifndef REGTEST + int _PDCLIB_prepwrite( struct _PDCLIB_file_t * stream ) { if ( ( stream->bufidx < stream->bufend ) || ( stream->ungetidx > 0 ) || ( stream->status & ( _PDCLIB_FREAD | _PDCLIB_ERRORFLAG | _PDCLIB_WIDESTREAM | _PDCLIB_EOFFLAG ) ) || ! ( stream->status & ( _PDCLIB_FWRITE | _PDCLIB_FAPPEND | _PDCLIB_FRW ) ) ) { - _PDCLIB_errno = _PDCLIB_EIO; + /* Function called on illegal (e.g. input) stream. + See the comments on implementation-defined errno values in + <_PDCLIB_config.h>. + */ + _PDCLIB_errno = _PDCLIB_ERROR; stream->status |= _PDCLIB_ERRORFLAG; return EOF; } @@ -22,3 +26,16 @@ int _PDCLIB_prepwrite( 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 +