diff options
Diffstat (limited to 'lldb/source/API/SBStream.cpp')
-rw-r--r-- | lldb/source/API/SBStream.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/lldb/source/API/SBStream.cpp b/lldb/source/API/SBStream.cpp index b8a18a14033..661c0f0a3c3 100644 --- a/lldb/source/API/SBStream.cpp +++ b/lldb/source/API/SBStream.cpp @@ -9,6 +9,7 @@ #include "lldb/API/SBStream.h" +#include "lldb/Core/Error.h" #include "lldb/Core/Stream.h" #include "lldb/Core/StreamFile.h" #include "lldb/Core/StreamString.h" @@ -75,7 +76,13 @@ SBStream::RedirectToFile (const char *path, bool append) if (!m_is_file) local_data.swap(static_cast<StreamString *>(m_opaque_ap.get())->GetString()); } - m_opaque_ap.reset (new StreamFile (path, append ? "a" : "w")); + StreamFile *stream_file = new StreamFile; + uint32_t open_options = File::eOpenOptionWrite | File::eOpenOptionCanCreate; + if (append) + open_options |= File::eOpenOptionAppend; + stream_file->GetFile().Open (path, open_options, File::ePermissionsDefault); + + m_opaque_ap.reset (stream_file); if (m_opaque_ap.get()) { |