diff --git a/Source/DOH/file.c b/Source/DOH/file.c index 7a6f12fd2..44c72191e 100644 --- a/Source/DOH/file.c +++ b/Source/DOH/file.c @@ -71,7 +71,9 @@ static int File_write(DOH *fo, void *buffer, int len) { DohFile *f = (DohFile *) ObjData(fo); if (f->filep) { - return fwrite(buffer,1,len,f->filep); + int ret = (int) fwrite(buffer, 1, len, f->filep); + int err = (ret != len) ? ferror(f->filep) : 0; + return err ? -1: ret; } else if (f->fd) { #ifdef DOH_INTFILE return write(f->fd,buffer,len);