Index: runtime/bin/directory_win.cc |
diff --git a/runtime/bin/directory_win.cc b/runtime/bin/directory_win.cc |
index efaaaf90a6e7ee6f08e5e94b2f5e6a0157d08900..4ebf512307e34d980015294ca2e015897f88fde3 100644 |
--- a/runtime/bin/directory_win.cc |
+++ b/runtime/bin/directory_win.cc |
@@ -50,8 +50,8 @@ const char* PathBuffer::AsScopedString() const { |
bool PathBuffer::Add(const char* name) { |
- const wchar_t* wide_name = StringUtilsWin::Utf8ToWide(name); |
- return AddW(wide_name); |
+ Utf8ToWideScope wide_name(name); |
+ return AddW(wide_name.wide()); |
} |
@@ -377,8 +377,8 @@ static Directory::ExistsResult ExistsHelper(const wchar_t* dir_name) { |
Directory::ExistsResult Directory::Exists(const char* dir_name) { |
- const wchar_t* system_name = StringUtilsWin::Utf8ToWide(dir_name); |
- return ExistsHelper(system_name); |
+ Utf8ToWideScope system_name(dir_name); |
+ return ExistsHelper(system_name.wide()); |
} |
@@ -412,19 +412,19 @@ const char* Directory::Current() { |
bool Directory::SetCurrent(const char* path) { |
- const wchar_t* system_path = StringUtilsWin::Utf8ToWide(path); |
- bool result = SetCurrentDirectoryW(system_path) != 0; |
+ Utf8ToWideScope system_path(path); |
+ bool result = SetCurrentDirectoryW(system_path.wide()) != 0; |
return result; |
} |
bool Directory::Create(const char* dir_name) { |
- const wchar_t* system_name = StringUtilsWin::Utf8ToWide(dir_name); |
- int create_status = CreateDirectoryW(system_name, NULL); |
+ Utf8ToWideScope system_name(dir_name); |
+ int create_status = CreateDirectoryW(system_name.wide(), NULL); |
// If the directory already existed, treat it as a success. |
if ((create_status == 0) && |
(GetLastError() == ERROR_ALREADY_EXISTS) && |
- (ExistsHelper(system_name) == EXISTS)) { |
+ (ExistsHelper(system_name.wide()) == EXISTS)) { |
return true; |
} |
return (create_status != 0); |
@@ -446,8 +446,8 @@ const char* Directory::CreateTemp(const char* prefix) { |
// descriptor inherited from its parent directory. |
// The return value is Dart_ScopeAllocated. |
PathBuffer path; |
- const wchar_t* system_prefix = StringUtilsWin::Utf8ToWide(prefix); |
- if (!path.AddW(system_prefix)) { |
+ Utf8ToWideScope system_prefix(prefix); |
+ if (!path.AddW(system_prefix.wide())) { |
return NULL; |
} |
@@ -481,16 +481,16 @@ const char* Directory::CreateTemp(const char* prefix) { |
bool Directory::Delete(const char* dir_name, bool recursive) { |
bool result = false; |
- const wchar_t* system_dir_name = StringUtilsWin::Utf8ToWide(dir_name); |
+ Utf8ToWideScope system_dir_name(dir_name); |
if (!recursive) { |
if (File::GetType(dir_name, true) == File::kIsDirectory) { |
- result = (RemoveDirectoryW(system_dir_name) != 0); |
+ result = (RemoveDirectoryW(system_dir_name.wide()) != 0); |
} else { |
SetLastError(ERROR_FILE_NOT_FOUND); |
} |
} else { |
PathBuffer path; |
- if (path.AddW(system_dir_name)) { |
+ if (path.AddW(system_dir_name.wide())) { |
result = DeleteRecursively(&path); |
} |
} |
@@ -499,13 +499,13 @@ bool Directory::Delete(const char* dir_name, bool recursive) { |
bool Directory::Rename(const char* path, const char* new_path) { |
- const wchar_t* system_path = StringUtilsWin::Utf8ToWide(path); |
- const wchar_t* system_new_path = StringUtilsWin::Utf8ToWide(new_path); |
- ExistsResult exists = ExistsHelper(system_path); |
+ Utf8ToWideScope system_path(path); |
+ Utf8ToWideScope system_new_path(new_path); |
+ ExistsResult exists = ExistsHelper(system_path.wide()); |
if (exists != EXISTS) { |
return false; |
} |
- ExistsResult new_exists = ExistsHelper(system_new_path); |
+ ExistsResult new_exists = ExistsHelper(system_new_path.wide()); |
// MoveFile does not allow replacing exising directories. Therefore, |
// if the new_path is currently a directory we need to delete it |
// first. |
@@ -517,7 +517,7 @@ bool Directory::Rename(const char* path, const char* new_path) { |
} |
DWORD flags = MOVEFILE_WRITE_THROUGH; |
int move_status = |
- MoveFileExW(system_path, system_new_path, flags); |
+ MoveFileExW(system_path.wide(), system_new_path.wide(), flags); |
return (move_status != 0); |
} |