From cbf380096042be5c4a1f63c800a1b271ac2fc2ce Mon Sep 17 00:00:00 2001 From: Marcelo Matus Date: Tue, 17 Jan 2006 00:52:34 +0000 Subject: [PATCH] add checking code for fwrite, problem reported by Michal Marek git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@8472 626c5289-ae23-0410-ae9c-e8d60b6d4f22 --- Source/DOH/file.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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);