diff options
author | Simon Hausmann <simon.hausmann@nokia.com> | 2009-11-18 14:39:46 (GMT) |
---|---|---|
committer | Simon Hausmann <simon.hausmann@nokia.com> | 2009-11-18 14:39:46 (GMT) |
commit | e2a6bf8d1c69d86c939aafcf357d60dcaa5f3d42 (patch) | |
tree | a121e872fd29a1820300b11a0261bf4ac78482e9 /src/corelib/io/qfsfileengine.cpp | |
parent | 7b41d3937c4521ba74b421da26d3a61a7aa4aa6e (diff) | |
parent | cb5e66d1d43c0cf452aff0e437a2ea9011c6b659 (diff) | |
download | Qt-e2a6bf8d1c69d86c939aafcf357d60dcaa5f3d42.zip Qt-e2a6bf8d1c69d86c939aafcf357d60dcaa5f3d42.tar.gz Qt-e2a6bf8d1c69d86c939aafcf357d60dcaa5f3d42.tar.bz2 |
Merge remote branch 'staging/4.6' into 4.6
Conflicts:
configure.exe
Diffstat (limited to 'src/corelib/io/qfsfileengine.cpp')
-rw-r--r-- | src/corelib/io/qfsfileengine.cpp | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/src/corelib/io/qfsfileengine.cpp b/src/corelib/io/qfsfileengine.cpp index 9ab831f..3cf9b7e 100644 --- a/src/corelib/io/qfsfileengine.cpp +++ b/src/corelib/io/qfsfileengine.cpp @@ -762,12 +762,10 @@ qint64 QFSFileEnginePrivate::writeFdFh(const char *data, qint64 len) // Buffered stdlib mode. size_t result; - bool eof; do { result = fwrite(data + writtenBytes, 1, size_t(len - writtenBytes), fh); writtenBytes += result; - eof = feof(fh); - } while (!eof && (result == 0 ? errno == EINTR : writtenBytes < len)); + } while (result == 0 ? errno == EINTR : writtenBytes < len); } else if (fd != -1) { // Unbuffered stdio mode. @@ -783,7 +781,7 @@ qint64 QFSFileEnginePrivate::writeFdFh(const char *data, qint64 len) || (result > 0 && (writtenBytes += result) < len)); } - if (writtenBytes == 0) { + if (len && writtenBytes == 0) { writtenBytes = -1; q->setError(errno == ENOSPC ? QFile::ResourceError : QFile::WriteError, qt_error_string(errno)); } |