Forráskód Böngészése

file(WRITE): Report errors during write operation

We already report an error if the file cannot be opened for writing.
Add another check to report an error if a write operation itself fails.
Ruslan Baratov 7 éve
szülő
commit
2db4945150
1 módosított fájl, 8 hozzáadás és 0 törlés
  1. 8 0
      Source/cmFileCommand.cxx

+ 8 - 0
Source/cmFileCommand.cxx

@@ -232,6 +232,14 @@ bool cmFileCommand::HandleWriteCommand(std::vector<std::string> const& args,
   }
   std::string message = cmJoin(cmMakeRange(i, args.end()), std::string());
   file << message;
+  if (!file) {
+    std::string error = "write failed (";
+    error += cmSystemTools::GetLastSystemError();
+    error += "):\n  ";
+    error += fileName;
+    this->SetError(error);
+    return false;
+  }
   file.close();
   if (mode) {
     cmSystemTools::SetPermissions(fileName.c_str(), mode);