A value is only assigned to errno if NumRead equals -1, so do
authorDuncan Sands <baldrick@free.fr>
Wed, 4 Nov 2009 20:50:23 +0000 (20:50 +0000)
committerDuncan Sands <baldrick@free.fr>
Wed, 4 Nov 2009 20:50:23 +0000 (20:50 +0000)
not reason based on errno if NumRead has a different value.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86046 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Support/MemoryBuffer.cpp

index d8b6b9f76fe6b596765c9347bf798c250f24972c..88e2050a9a9c1c3fa1347a18aaa9be58c93b4c58 100644 (file)
@@ -229,7 +229,7 @@ MemoryBuffer *MemoryBuffer::getFile(const char *Filename, std::string *ErrStr,
     if (NumRead > 0) {
       BytesLeft -= NumRead;
       BufPtr += NumRead;
-    } else if (errno == EINTR) {
+    } else if (NumRead == -1 && errno == EINTR) {
       // try again
     } else {
       // error reading.