| Index: runtime/bin/file_win.cc
|
| diff --git a/runtime/bin/file_win.cc b/runtime/bin/file_win.cc
|
| index 0fde433603853cb7cd4533d4223065729de6dd23..8ba4a30b042f85badb420f316ed7a970273862c2 100644
|
| --- a/runtime/bin/file_win.cc
|
| +++ b/runtime/bin/file_win.cc
|
| @@ -17,6 +17,7 @@
|
| #include "bin/builtin.h"
|
| #include "bin/log.h"
|
| #include "bin/utils.h"
|
| +#include "bin/utils_win.h"
|
| #include "platform/utils.h"
|
|
|
|
|
| @@ -167,7 +168,7 @@ File* File::Open(const char* name, FileOpenMode mode) {
|
| if ((mode & kTruncate) != 0) {
|
| flags = flags | O_TRUNC;
|
| }
|
| - const wchar_t* system_name = StringUtils::Utf8ToWide(name);
|
| + const wchar_t* system_name = StringUtilsWin::Utf8ToWide(name);
|
| int fd = _wopen(system_name, flags, 0666);
|
| free(const_cast<wchar_t*>(system_name));
|
| if (fd < 0) {
|
| @@ -201,7 +202,7 @@ File* File::OpenStdio(int fd) {
|
|
|
| bool File::Exists(const char* name) {
|
| struct __stat64 st;
|
| - const wchar_t* system_name = StringUtils::Utf8ToWide(name);
|
| + const wchar_t* system_name = StringUtilsWin::Utf8ToWide(name);
|
| bool stat_status = _wstat64(system_name, &st);
|
| free(const_cast<wchar_t*>(system_name));
|
| if (stat_status == 0) {
|
| @@ -213,7 +214,7 @@ bool File::Exists(const char* name) {
|
|
|
|
|
| bool File::Create(const char* name) {
|
| - const wchar_t* system_name = StringUtils::Utf8ToWide(name);
|
| + const wchar_t* system_name = StringUtilsWin::Utf8ToWide(name);
|
| int fd = _wopen(system_name, O_RDONLY | O_CREAT, 0666);
|
| free(const_cast<wchar_t*>(system_name));
|
| if (fd < 0) {
|
| @@ -259,7 +260,7 @@ static const int kMountPointHeaderSize = 4 * sizeof USHORT;
|
|
|
|
|
| bool File::CreateLink(const char* utf8_name, const char* utf8_target) {
|
| - const wchar_t* name = StringUtils::Utf8ToWide(utf8_name);
|
| + const wchar_t* name = StringUtilsWin::Utf8ToWide(utf8_name);
|
| int create_status = CreateDirectoryW(name, NULL);
|
| // If the directory already existed, treat it as a success.
|
| if (create_status == 0 &&
|
| @@ -282,7 +283,7 @@ bool File::CreateLink(const char* utf8_name, const char* utf8_target) {
|
| return false;
|
| }
|
|
|
| - const wchar_t* target = StringUtils::Utf8ToWide(utf8_target);
|
| + const wchar_t* target = StringUtilsWin::Utf8ToWide(utf8_target);
|
| int target_len = wcslen(target);
|
| if (target_len > MAX_PATH - 1) {
|
| free(const_cast<wchar_t*>(target));
|
| @@ -326,7 +327,7 @@ bool File::CreateLink(const char* utf8_name, const char* utf8_target) {
|
|
|
|
|
| bool File::Delete(const char* name) {
|
| - const wchar_t* system_name = StringUtils::Utf8ToWide(name);
|
| + const wchar_t* system_name = StringUtilsWin::Utf8ToWide(name);
|
| int status = _wremove(system_name);
|
| free(const_cast<wchar_t*>(system_name));
|
| return status != -1;
|
| @@ -334,7 +335,7 @@ bool File::Delete(const char* name) {
|
|
|
|
|
| bool File::DeleteLink(const char* name) {
|
| - const wchar_t* system_name = StringUtils::Utf8ToWide(name);
|
| + const wchar_t* system_name = StringUtilsWin::Utf8ToWide(name);
|
| bool result = false;
|
| DWORD attributes = GetFileAttributesW(system_name);
|
| if ((attributes != INVALID_FILE_ATTRIBUTES) &&
|
| @@ -352,8 +353,8 @@ bool File::DeleteLink(const char* name) {
|
| bool File::Rename(const char* old_path, const char* new_path) {
|
| File::Type type = GetType(old_path, false);
|
| if (type == kIsFile) {
|
| - const wchar_t* system_old_path = StringUtils::Utf8ToWide(old_path);
|
| - const wchar_t* system_new_path = StringUtils::Utf8ToWide(new_path);
|
| + const wchar_t* system_old_path = StringUtilsWin::Utf8ToWide(old_path);
|
| + const wchar_t* system_new_path = StringUtilsWin::Utf8ToWide(new_path);
|
| DWORD flags = MOVEFILE_WRITE_THROUGH | MOVEFILE_REPLACE_EXISTING;
|
| int move_status =
|
| MoveFileExW(system_old_path, system_new_path, flags);
|
| @@ -370,8 +371,8 @@ bool File::Rename(const char* old_path, const char* new_path) {
|
| bool File::RenameLink(const char* old_path, const char* new_path) {
|
| File::Type type = GetType(old_path, false);
|
| if (type == kIsLink) {
|
| - const wchar_t* system_old_path = StringUtils::Utf8ToWide(old_path);
|
| - const wchar_t* system_new_path = StringUtils::Utf8ToWide(new_path);
|
| + const wchar_t* system_old_path = StringUtilsWin::Utf8ToWide(old_path);
|
| + const wchar_t* system_new_path = StringUtilsWin::Utf8ToWide(new_path);
|
| DWORD flags = MOVEFILE_WRITE_THROUGH | MOVEFILE_REPLACE_EXISTING;
|
| int move_status =
|
| MoveFileExW(system_old_path, system_new_path, flags);
|
| @@ -388,8 +389,8 @@ bool File::RenameLink(const char* old_path, const char* new_path) {
|
| bool File::Copy(const char* old_path, const char* new_path) {
|
| File::Type type = GetType(old_path, false);
|
| if (type == kIsFile) {
|
| - const wchar_t* system_old_path = StringUtils::Utf8ToWide(old_path);
|
| - const wchar_t* system_new_path = StringUtils::Utf8ToWide(new_path);
|
| + const wchar_t* system_old_path = StringUtilsWin::Utf8ToWide(old_path);
|
| + const wchar_t* system_new_path = StringUtilsWin::Utf8ToWide(new_path);
|
| bool success = CopyFileExW(system_old_path,
|
| system_new_path,
|
| NULL,
|
| @@ -408,7 +409,7 @@ bool File::Copy(const char* old_path, const char* new_path) {
|
|
|
| int64_t File::LengthFromPath(const char* name) {
|
| struct __stat64 st;
|
| - const wchar_t* system_name = StringUtils::Utf8ToWide(name);
|
| + const wchar_t* system_name = StringUtilsWin::Utf8ToWide(name);
|
| int stat_status = _wstat64(system_name, &st);
|
| free(const_cast<wchar_t*>(system_name));
|
| if (stat_status == 0) {
|
| @@ -419,7 +420,7 @@ int64_t File::LengthFromPath(const char* name) {
|
|
|
|
|
| char* File::LinkTarget(const char* pathname) {
|
| - const wchar_t* name = StringUtils::Utf8ToWide(pathname);
|
| + const wchar_t* name = StringUtilsWin::Utf8ToWide(pathname);
|
| HANDLE dir_handle = CreateFileW(
|
| name,
|
| GENERIC_READ,
|
| @@ -516,7 +517,7 @@ void File::Stat(const char* name, int64_t* data) {
|
| data[kType] = type;
|
| if (type != kDoesNotExist) {
|
| struct _stat64 st;
|
| - const wchar_t* system_name = StringUtils::Utf8ToWide(name);
|
| + const wchar_t* system_name = StringUtilsWin::Utf8ToWide(name);
|
| int stat_status = _wstat64(system_name, &st);
|
| free(const_cast<wchar_t*>(system_name));
|
| if (stat_status == 0) {
|
| @@ -534,7 +535,7 @@ void File::Stat(const char* name, int64_t* data) {
|
|
|
| time_t File::LastModified(const char* name) {
|
| struct __stat64 st;
|
| - const wchar_t* system_name = StringUtils::Utf8ToWide(name);
|
| + const wchar_t* system_name = StringUtilsWin::Utf8ToWide(name);
|
| int stat_status = _wstat64(system_name, &st);
|
| free(const_cast<wchar_t*>(system_name));
|
| if (stat_status == 0) {
|
| @@ -554,7 +555,7 @@ bool File::IsAbsolutePath(const char* pathname) {
|
|
|
|
|
| char* File::GetCanonicalPath(const char* pathname) {
|
| - const wchar_t* system_name = StringUtils::Utf8ToWide(pathname);
|
| + const wchar_t* system_name = StringUtilsWin::Utf8ToWide(pathname);
|
| HANDLE file_handle = CreateFileW(
|
| system_name,
|
| 0,
|
| @@ -592,9 +593,9 @@ char* File::GetCanonicalPath(const char* pathname) {
|
| result_size > 4 &&
|
| wcsncmp(path, L"\\\\?\\", 4) == 0 &&
|
| wcsncmp(system_name, L"\\\\?\\", 4) != 0) {
|
| - result = StringUtils::WideToUtf8(path + 4);
|
| + result = StringUtilsWin::WideToUtf8(path + 4);
|
| } else {
|
| - result = StringUtils::WideToUtf8(path);
|
| + result = StringUtilsWin::WideToUtf8(path);
|
| }
|
| free(const_cast<wchar_t*>(system_name));
|
| free(path);
|
| @@ -623,7 +624,7 @@ File::StdioHandleType File::GetStdioHandleType(int fd) {
|
|
|
|
|
| File::Type File::GetType(const char* pathname, bool follow_links) {
|
| - const wchar_t* name = StringUtils::Utf8ToWide(pathname);
|
| + const wchar_t* name = StringUtilsWin::Utf8ToWide(pathname);
|
| DWORD attributes = GetFileAttributesW(name);
|
| File::Type result = kIsFile;
|
| if (attributes == INVALID_FILE_ATTRIBUTES) {
|
| @@ -659,7 +660,7 @@ File::Identical File::AreIdentical(const char* file_1, const char* file_2) {
|
| BY_HANDLE_FILE_INFORMATION file_info[2];
|
| const char* file_names[2] = { file_1, file_2 };
|
| for (int i = 0; i < 2; ++i) {
|
| - const wchar_t* wide_name = StringUtils::Utf8ToWide(file_names[i]);
|
| + const wchar_t* wide_name = StringUtilsWin::Utf8ToWide(file_names[i]);
|
| HANDLE file_handle = CreateFileW(
|
| wide_name,
|
| 0,
|
|
|