summaryrefslogtreecommitdiffstats
path: root/lldb/source/API/SBStream.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/source/API/SBStream.cpp')
-rw-r--r--lldb/source/API/SBStream.cpp9
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())
{
OpenPOWER on IntegriCloud