From: Ali Saidi Date: Thu, 2 Aug 2007 18:40:56 +0000 (-0400) Subject: Output: Make OutputDirectory::create() be able to create binary files. X-Git-Tag: m5_2.0_beta4~204^2~5 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=c4e026daf4f22481d20c6f63d76ad23d5b65af45;p=gem5.git Output: Make OutputDirectory::create() be able to create binary files. --HG-- extra : convert_revision : eae114ee5f27bb8b319df705d9b39bded185b8e8 --- diff --git a/src/base/output.cc b/src/base/output.cc index afcac03a5..9d02a4a71 100644 --- a/src/base/output.cc +++ b/src/base/output.cc @@ -87,7 +87,7 @@ OutputDirectory::resolve(const string &name) } ostream * -OutputDirectory::create(const string &name) +OutputDirectory::create(const string &name, bool binary) { if (name == "cerr" || name == "stderr") return &cerr; @@ -95,7 +95,8 @@ OutputDirectory::create(const string &name) if (name == "cout" || name == "stdout") return &cout; - ofstream *file = new ofstream(resolve(name).c_str(), ios::trunc); + ofstream *file = new ofstream(resolve(name).c_str(), + ios::trunc | binary ? ios::binary : (ios::openmode)0); if (!file->is_open()) panic("Cannot open file %s", name); diff --git a/src/base/output.hh b/src/base/output.hh index 0aae4ae81..5de0c4005 100644 --- a/src/base/output.hh +++ b/src/base/output.hh @@ -51,7 +51,7 @@ class OutputDirectory const std::string &directory(); std::string resolve(const std::string &name); - std::ostream *create(const std::string &name); + std::ostream *create(const std::string &name, bool binary = false); std::ostream *find(const std::string &name); static bool isFile(const std::ostream *os);