summaryrefslogtreecommitdiffstats
path: root/lldb/source/Host/windows/FileSystem.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/source/Host/windows/FileSystem.cpp')
-rw-r--r--lldb/source/Host/windows/FileSystem.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/lldb/source/Host/windows/FileSystem.cpp b/lldb/source/Host/windows/FileSystem.cpp
index f1926357b55..de2374c80ca 100644
--- a/lldb/source/Host/windows/FileSystem.cpp
+++ b/lldb/source/Host/windows/FileSystem.cpp
@@ -12,6 +12,7 @@
#include <shellapi.h>
#include "lldb/Host/FileSystem.h"
+#include "llvm/Support/FileSystem.h"
using namespace lldb_private;
@@ -27,8 +28,12 @@ FileSystem::MakeDirectory(const char *path, uint32_t file_permissions)
// On Win32, the mode parameter is ignored, as Windows files and directories support a
// different permission model than POSIX.
Error error;
- if (!::CreateDirectory(path, NULL) && GetLastError() != ERROR_ALREADY_EXISTS)
- error.SetError(::GetLastError(), lldb::eErrorTypeWin32);
+ const auto err_code = llvm::sys::fs::create_directories(path, true);
+ if (err_code)
+ {
+ error.SetErrorString(err_code.message().c_str());
+ }
+
return error;
}
OpenPOWER on IntegriCloud