diff options
Diffstat (limited to 'Source/cmGeneratedFileStream.cxx')
-rw-r--r-- | Source/cmGeneratedFileStream.cxx | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/Source/cmGeneratedFileStream.cxx b/Source/cmGeneratedFileStream.cxx index 660d9d5..1bd8669 100644 --- a/Source/cmGeneratedFileStream.cxx +++ b/Source/cmGeneratedFileStream.cxx @@ -90,7 +90,7 @@ cmGeneratedFileStream::Open(const char* name, bool quiet, bool binaryFlag) } //---------------------------------------------------------------------------- -cmGeneratedFileStream& +bool cmGeneratedFileStream::Close() { // Save whether the temporary output file is valid before closing. @@ -100,9 +100,7 @@ cmGeneratedFileStream::Close() this->Stream::close(); // Remove the temporary file (possibly by renaming to the real file). - this->cmGeneratedFileStreamBase::Close(); - - return *this; + return this->cmGeneratedFileStreamBase::Close(); } //---------------------------------------------------------------------------- @@ -170,8 +168,10 @@ void cmGeneratedFileStreamBase::Open(const char* name) } //---------------------------------------------------------------------------- -void cmGeneratedFileStreamBase::Close() +bool cmGeneratedFileStreamBase::Close() { + bool replaced = false; + std::string resname = this->Name; if ( this->Compress && this->CompressExtraExtension ) { @@ -200,12 +200,16 @@ void cmGeneratedFileStreamBase::Close() { this->RenameFile(this->TempName.c_str(), resname.c_str()); } + + replaced = true; } // Else, the destination was not replaced. // // Always delete the temporary file. We never want it to stay around. cmSystemTools::RemoveFile(this->TempName.c_str()); + + return replaced; } //---------------------------------------------------------------------------- |