diff options
Diffstat (limited to 'src/common/profile.cpp')
-rw-r--r-- | src/common/profile.cpp | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/common/profile.cpp b/src/common/profile.cpp index c43cd75..92fc1d6 100644 --- a/src/common/profile.cpp +++ b/src/common/profile.cpp @@ -59,7 +59,7 @@ bool CProfile::Init() try { std::unique_ptr<std::istream> stream; - bool good = false; + bool good; if (m_useCurrentDirectory) { std::ifstream* inputStream = new std::ifstream("./colobot.ini"); @@ -98,16 +98,21 @@ bool CProfile::Save() try { std::unique_ptr<std::ostream> stream; + bool good; if (m_useCurrentDirectory) { - stream = std::unique_ptr<std::ostream>(new std::ofstream("./colobot.ini")); + std::ofstream* outputStream = new std::ofstream("./colobot.ini"); + stream = std::unique_ptr<std::ostream>(outputStream); + good = outputStream->good(); } else { - stream = std::unique_ptr<std::ostream>(new COutputStream("colobot.ini")); + COutputStream* outputStream = new COutputStream("colobot.ini"); + stream = std::unique_ptr<std::ostream>(outputStream); + good = outputStream->is_open(); } - if (stream->good()) + if (good) { bp::ini_parser::write_ini(*stream, m_propertyTree); } |