From e34207c1f0493c002da8c74897b81a72ef3ef2d4 Mon Sep 17 00:00:00 2001 From: Brad King Date: Wed, 3 Nov 2004 07:27:44 -0500 Subject: COMP: Fix new cmGeneratedFileStream for MSVC. --- Source/cmGeneratedFileStream.cxx | 4 ++-- Source/cmGeneratedFileStream.h | 2 ++ Source/cmGlobalVisualStudio7Generator.cxx | 7 ++----- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/Source/cmGeneratedFileStream.cxx b/Source/cmGeneratedFileStream.cxx index 6fe889d..1e470c8 100644 --- a/Source/cmGeneratedFileStream.cxx +++ b/Source/cmGeneratedFileStream.cxx @@ -31,7 +31,7 @@ cmGeneratedFileStream::cmGeneratedFileStream(const char* name, bool copy_if_different, bool quiet): cmGeneratedFileStreamBase(name, copy_if_different), - std::ofstream(m_TempName.c_str()) + Stream(m_TempName.c_str()) { // Check if the file opened. if(!*this && !quiet) @@ -49,7 +49,7 @@ cmGeneratedFileStream::~cmGeneratedFileStream() // stream will be destroyed which will close the temporary file. // Finally the base destructor will be called to replace the // destination file. - m_Okay = *this; + m_Okay = (*this)?true:false; } //---------------------------------------------------------------------------- diff --git a/Source/cmGeneratedFileStream.h b/Source/cmGeneratedFileStream.h index b12461f..f447370 100644 --- a/Source/cmGeneratedFileStream.h +++ b/Source/cmGeneratedFileStream.h @@ -61,6 +61,8 @@ class cmGeneratedFileStream: private cmGeneratedFileStreamBase, public std::ofstream { public: + typedef std::ofstream Stream; + /** * The constructor takes the name of the file to be generated. It * automatically generates a name for the temporary file. The diff --git a/Source/cmGlobalVisualStudio7Generator.cxx b/Source/cmGlobalVisualStudio7Generator.cxx index ecad472..0184833 100644 --- a/Source/cmGlobalVisualStudio7Generator.cxx +++ b/Source/cmGlobalVisualStudio7Generator.cxx @@ -289,15 +289,12 @@ void cmGlobalVisualStudio7Generator::OutputSLNFile(cmLocalGenerator* root, fname += "/"; fname += root->GetMakefile()->GetProjectName(); fname += ".sln"; - cmGeneratedFileStream fout(fname.c_str()); + cmGeneratedFileStream fout(fname.c_str(), true); if(!fout) { - cmSystemTools::Error("Error can not open DSW file for write: ", - fname.c_str()); - cmSystemTools::ReportLastSystemError(""); return; } - this->WriteSLNFile(fout.GetStream(), root, generators); + this->WriteSLNFile(fout, root, generators); } // output the SLN file -- cgit v0.12