X-Git-Url: https://pd.if.org/git/?a=blobdiff_plain;f=platform%2Fexample%2Ffunctions%2F_PDCLIB%2Fflushbuffer.c;h=8d5f9212bf9bf539e5147870fe3d7fdd41ad59b3;hb=d6f1494a4f38a212b29a13ee713885058dcf0fe7;hp=c2ac98d8ef8aac286460ede9a2e4aa8dcf326e7e;hpb=393020b6e48719d27699dea6b29e53025bbd5123;p=pdclib diff --git a/platform/example/functions/_PDCLIB/flushbuffer.c b/platform/example/functions/_PDCLIB/flushbuffer.c index c2ac98d..8d5f921 100644 --- a/platform/example/functions/_PDCLIB/flushbuffer.c +++ b/platform/example/functions/_PDCLIB/flushbuffer.c @@ -1,5 +1,3 @@ -/* $Id$ */ - /* _PDCLIB_flushbuffer( struct _PDCLIB_file_t * ) This file is part of the Public Domain C Library (PDCLib). @@ -14,7 +12,7 @@ #include #ifndef REGTEST -#include <_PDCLIB_glue.h> +#include "_PDCLIB_glue.h" #include @@ -50,6 +48,10 @@ int _PDCLIB_flushbuffer( struct _PDCLIB_file_t * stream ) /* Write error */ switch ( errno ) { + /* See <_PDCLIB_config.h>. There should be differenciated errno + handling here, possibly even a 1:1 mapping; but that is up + to the individual platform. + */ case EBADF: case EFAULT: case EFBIG: @@ -58,10 +60,11 @@ int _PDCLIB_flushbuffer( struct _PDCLIB_file_t * stream ) case EIO: case ENOSPC: case EPIPE: - _PDCLIB_errno = _PDCLIB_EIO; + _PDCLIB_errno = _PDCLIB_ERROR; break; default: - _PDCLIB_errno = _PDCLIB_EUNKNOWN; + /* This should be something like EUNKNOWN. */ + _PDCLIB_errno = _PDCLIB_ERROR; break; } stream->status |= _PDCLIB_ERRORFLAG; @@ -79,7 +82,10 @@ int _PDCLIB_flushbuffer( struct _PDCLIB_file_t * stream ) return 0; } } - _PDCLIB_errno = _PDCLIB_ERETRY; + /* Number of retries exceeded. You probably want a different errno value + here. + */ + _PDCLIB_errno = _PDCLIB_ERROR; stream->status |= _PDCLIB_ERRORFLAG; /* Move unwritten remains to begin of buffer. */ stream->bufidx -= written; @@ -91,7 +97,7 @@ int _PDCLIB_flushbuffer( struct _PDCLIB_file_t * stream ) #ifdef TEST -#include <_PDCLIB_test.h> +#include "_PDCLIB_test.h" int main( void ) {