summaryrefslogtreecommitdiff
path: root/src/base
diff options
context:
space:
mode:
authorSteve Reinhardt <stever@gmail.com>2007-08-03 03:51:30 -0400
committerSteve Reinhardt <stever@gmail.com>2007-08-03 03:51:30 -0400
commit3afc6259757e8ec688701bf3e3d7fcdad28d5b6c (patch)
tree35c0e1ebb596dfe94934fc0f5f064eb523b3013b /src/base
parent62aa1d7f559622dcb04b1b2fe1e2ecec375883a3 (diff)
parent121a894ce0d551e860392f9aa6bd381329a25b96 (diff)
downloadgem5-3afc6259757e8ec688701bf3e3d7fcdad28d5b6c.tar.xz
merge from head
--HG-- extra : convert_revision : 21f7afe2719c00744c0981212c1ee6e442238e01
Diffstat (limited to 'src/base')
-rw-r--r--src/base/output.cc5
-rw-r--r--src/base/output.hh2
2 files changed, 4 insertions, 3 deletions
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);