Output: Make OutputDirectory::create() be able to create binary files.
--HG-- extra : convert_revision : eae114ee5f27bb8b319df705d9b39bded185b8e8
This commit is contained in:
parent
acb91c2dfa
commit
c4e026daf4
2 changed files with 4 additions and 3 deletions
|
@ -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);
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Reference in a new issue