X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Usermode%2FLibraries%2Flibc.so_src%2Fstdio.c;h=d03231c38bd773504e8f9e9c2d0e9b65431f3edd;hb=edddd69f17803d29b7f435da85ef23b7a5430c1f;hp=f71df600a533d4f985047fd42a1947a032a797bf;hpb=a14bbb9609fd00801c65328838a42db75af486ec;p=tpg%2Facess2.git diff --git a/Usermode/Libraries/libc.so_src/stdio.c b/Usermode/Libraries/libc.so_src/stdio.c index f71df600..d03231c3 100644 --- a/Usermode/Libraries/libc.so_src/stdio.c +++ b/Usermode/Libraries/libc.so_src/stdio.c @@ -289,7 +289,7 @@ int _fflush_int(FILE *fp) // Write - Write buffer case FILE_FLAG_MODE_WRITE: - _SysDebug("Flushing to %i '%.*s'", fp->FD, fp->BufferPos, fp->Buffer); + //_SysDebug("Flushing to %i '%.*s'", fp->FD, fp->BufferPos, fp->Buffer); len = _SysWrite(fp->FD, fp->Buffer, fp->BufferPos); if( len != fp->BufferPos ) ret = 1; @@ -389,6 +389,11 @@ size_t _fwrite_unbuffered(FILE *fp, size_t size, size_t num, const void *data) while( num -- ) { bytes = _SysWrite(fp->FD, data, size); + if( bytes == (size_t)-1 ) { + // Oops. + // TODO: Set error flag + break; + } if( bytes != size ) { _SysDebug("_fwrite_unbuffered: Oops, rollback %i/%i bytes!", bytes, size); _SysSeek(fp->FD, -bytes, SEEK_CUR);