X-Git-Url: https://pd.if.org/git/?p=pdclib.old;a=blobdiff_plain;f=platform%2Fexample%2Ffunctions%2F_PDCLIB%2Fflushbuffer.c;h=e68c6c49041875243d7e983211b682e0e4bbd28c;hp=c2ac98d8ef8aac286460ede9a2e4aa8dcf326e7e;hb=8cfc7f73e7baec32630b9cf55582febd41b8a684;hpb=37a19e428fd1e1b348e332fdc8ee759d13ebe88b diff --git a/platform/example/functions/_PDCLIB/flushbuffer.c b/platform/example/functions/_PDCLIB/flushbuffer.c index c2ac98d..e68c6c4 100644 --- a/platform/example/functions/_PDCLIB/flushbuffer.c +++ b/platform/example/functions/_PDCLIB/flushbuffer.c @@ -50,6 +50,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 +62,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 +84,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;