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.
This commit is contained in:
Ruslan Baratov authored and Brad King committed 2018-05-16 10:34:28 -04:00
1 parent 743f24bac6
commit 2db4945150
1 file changed
+8
+8
View File
@@ -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);