mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-12-28 14:36:34 +00:00
Support/PathV2: Remove redundant calls to make_error_code.
llvm-svn: 120913
This commit is contained in:
parent
e2e8053264
commit
2cd429339f
@ -293,28 +293,28 @@ error_code root_path(const StringRef &path, StringRef &result) {
|
||||
if ((++pos != e) && is_separator((*pos)[0])) {
|
||||
// {C:/,//net/}, so get the first two components.
|
||||
result = StringRef(path.begin(), b->size() + pos->size());
|
||||
return make_error_code(errc::success);
|
||||
return success;
|
||||
} else {
|
||||
// just {C:,//net}, return the first component.
|
||||
result = *b;
|
||||
return make_error_code(errc::success);
|
||||
return success;
|
||||
}
|
||||
}
|
||||
|
||||
// POSIX style root directory.
|
||||
if (is_separator((*b)[0])) {
|
||||
result = *b;
|
||||
return make_error_code(errc::success);
|
||||
return success;
|
||||
}
|
||||
|
||||
// No root_path.
|
||||
result = StringRef();
|
||||
return make_error_code(errc::success);
|
||||
return success;
|
||||
}
|
||||
|
||||
// No path :(.
|
||||
result = StringRef();
|
||||
return make_error_code(errc::success);
|
||||
return success;
|
||||
}
|
||||
|
||||
error_code root_name(const StringRef &path, StringRef &result) {
|
||||
@ -332,13 +332,13 @@ error_code root_name(const StringRef &path, StringRef &result) {
|
||||
if (has_net || has_drive) {
|
||||
// just {C:,//net}, return the first component.
|
||||
result = *b;
|
||||
return make_error_code(errc::success);
|
||||
return success;
|
||||
}
|
||||
}
|
||||
|
||||
// No path or no name.
|
||||
result = StringRef();
|
||||
return make_error_code(errc::success);
|
||||
return success;
|
||||
}
|
||||
|
||||
error_code root_directory(const StringRef &path, StringRef &result) {
|
||||
@ -358,26 +358,26 @@ error_code root_directory(const StringRef &path, StringRef &result) {
|
||||
// {C:,//net}, skip to the next component.
|
||||
(++pos != e) && is_separator((*pos)[0])) {
|
||||
result = *pos;
|
||||
return make_error_code(errc::success);
|
||||
return success;
|
||||
}
|
||||
|
||||
// POSIX style root directory.
|
||||
if (!has_net && is_separator((*b)[0])) {
|
||||
result = *b;
|
||||
return make_error_code(errc::success);
|
||||
return success;
|
||||
}
|
||||
}
|
||||
|
||||
// No path or no root.
|
||||
result = StringRef();
|
||||
return make_error_code(errc::success);
|
||||
return success;
|
||||
}
|
||||
|
||||
error_code relative_path(const StringRef &path, StringRef &result) {
|
||||
StringRef root;
|
||||
if (error_code ec = root_path(path, root)) return ec;
|
||||
result = StringRef(path.begin() + root.size(), path.size() - root.size());
|
||||
return make_error_code(errc::success);
|
||||
return success;
|
||||
}
|
||||
|
||||
error_code append(SmallVectorImpl<char> &path, const Twine &a,
|
||||
@ -421,7 +421,7 @@ error_code append(SmallVectorImpl<char> &path, const Twine &a,
|
||||
path.append(i->begin(), i->end());
|
||||
}
|
||||
|
||||
return make_error_code(errc::success);
|
||||
return success;
|
||||
}
|
||||
|
||||
error_code make_absolute(SmallVectorImpl<char> &path) {
|
||||
@ -433,7 +433,7 @@ error_code make_absolute(SmallVectorImpl<char> &path) {
|
||||
|
||||
// Already absolute.
|
||||
if (rootName && rootDirectory)
|
||||
return make_error_code(errc::success);
|
||||
return success;
|
||||
|
||||
// All of the following conditions will need the current directory.
|
||||
SmallString<128> current_dir;
|
||||
@ -445,7 +445,7 @@ error_code make_absolute(SmallVectorImpl<char> &path) {
|
||||
if (error_code ec = append(current_dir, p)) return ec;
|
||||
// Set path to the result.
|
||||
path.swap(current_dir);
|
||||
return make_error_code(errc::success);
|
||||
return success;
|
||||
}
|
||||
|
||||
if (!rootName && rootDirectory) {
|
||||
@ -455,7 +455,7 @@ error_code make_absolute(SmallVectorImpl<char> &path) {
|
||||
if (error_code ec = append(curDirRootName, p)) return ec;
|
||||
// Set path to the result.
|
||||
path.swap(curDirRootName);
|
||||
return make_error_code(errc::success);
|
||||
return success;
|
||||
}
|
||||
|
||||
if (rootName && !rootDirectory) {
|
||||
@ -472,7 +472,7 @@ error_code make_absolute(SmallVectorImpl<char> &path) {
|
||||
if (error_code ec = append(res, pRootName, bRootDirectory,
|
||||
bRelativePath, pRelativePath)) return ec;
|
||||
path.swap(res);
|
||||
return make_error_code(errc::success);
|
||||
return success;
|
||||
}
|
||||
|
||||
llvm_unreachable("All rootName and rootDirectory combinations should have "
|
||||
@ -485,15 +485,15 @@ error_code parent_path(const StringRef &path, StringRef &result) {
|
||||
result = StringRef();
|
||||
else
|
||||
result = StringRef(path.data(), end_pos);
|
||||
return make_error_code(errc::success);
|
||||
return success;
|
||||
}
|
||||
|
||||
error_code remove_filename(SmallVectorImpl<char> &path) {
|
||||
size_t end_pos = parent_path_end(StringRef(path.begin(), path.size()));
|
||||
if (end_pos == StringRef::npos)
|
||||
return make_error_code(errc::success);
|
||||
return success;
|
||||
path.set_size(end_pos);
|
||||
return make_error_code(errc::success);
|
||||
return success;
|
||||
}
|
||||
|
||||
error_code replace_extension(SmallVectorImpl<char> &path,
|
||||
@ -513,7 +513,7 @@ error_code replace_extension(SmallVectorImpl<char> &path,
|
||||
|
||||
// Append extension.
|
||||
path.append(ext.begin(), ext.end());
|
||||
return make_error_code(errc::success);
|
||||
return success;
|
||||
}
|
||||
|
||||
error_code native(const Twine &path, SmallVectorImpl<char> &result) {
|
||||
@ -535,12 +535,12 @@ error_code native(const Twine &path, SmallVectorImpl<char> &result) {
|
||||
#else
|
||||
path.toVector(result);
|
||||
#endif
|
||||
return make_error_code(errc::success);
|
||||
return success;
|
||||
}
|
||||
|
||||
error_code filename(const StringRef &path, StringRef &result) {
|
||||
result = *(--end(path));
|
||||
return make_error_code(errc::success);
|
||||
return success;
|
||||
}
|
||||
|
||||
error_code stem(const StringRef &path, StringRef &result) {
|
||||
@ -556,7 +556,7 @@ error_code stem(const StringRef &path, StringRef &result) {
|
||||
else
|
||||
result = StringRef(fname.begin(), pos);
|
||||
|
||||
return make_error_code(errc::success);
|
||||
return success;
|
||||
}
|
||||
|
||||
error_code extension(const StringRef &path, StringRef &result) {
|
||||
@ -572,7 +572,7 @@ error_code extension(const StringRef &path, StringRef &result) {
|
||||
else
|
||||
result = StringRef(fname.begin() + pos, fname.size() - pos);
|
||||
|
||||
return make_error_code(errc::success);
|
||||
return success;
|
||||
}
|
||||
|
||||
error_code has_root_name(const Twine &path, bool &result) {
|
||||
@ -582,7 +582,7 @@ error_code has_root_name(const Twine &path, bool &result) {
|
||||
if (error_code ec = root_name(p, p)) return ec;
|
||||
|
||||
result = !p.empty();
|
||||
return make_error_code(errc::success);
|
||||
return success;
|
||||
}
|
||||
|
||||
error_code has_root_directory(const Twine &path, bool &result) {
|
||||
@ -592,7 +592,7 @@ error_code has_root_directory(const Twine &path, bool &result) {
|
||||
if (error_code ec = root_directory(p, p)) return ec;
|
||||
|
||||
result = !p.empty();
|
||||
return make_error_code(errc::success);
|
||||
return success;
|
||||
}
|
||||
|
||||
error_code has_root_path(const Twine &path, bool &result) {
|
||||
@ -602,7 +602,7 @@ error_code has_root_path(const Twine &path, bool &result) {
|
||||
if (error_code ec = root_path(p, p)) return ec;
|
||||
|
||||
result = !p.empty();
|
||||
return make_error_code(errc::success);
|
||||
return success;
|
||||
}
|
||||
|
||||
error_code has_filename(const Twine &path, bool &result) {
|
||||
@ -612,7 +612,7 @@ error_code has_filename(const Twine &path, bool &result) {
|
||||
if (error_code ec = filename(p, p)) return ec;
|
||||
|
||||
result = !p.empty();
|
||||
return make_error_code(errc::success);
|
||||
return success;
|
||||
}
|
||||
|
||||
error_code has_parent_path(const Twine &path, bool &result) {
|
||||
@ -622,7 +622,7 @@ error_code has_parent_path(const Twine &path, bool &result) {
|
||||
if (error_code ec = parent_path(p, p)) return ec;
|
||||
|
||||
result = !p.empty();
|
||||
return make_error_code(errc::success);
|
||||
return success;
|
||||
}
|
||||
|
||||
error_code has_stem(const Twine &path, bool &result) {
|
||||
@ -632,7 +632,7 @@ error_code has_stem(const Twine &path, bool &result) {
|
||||
if (error_code ec = stem(p, p)) return ec;
|
||||
|
||||
result = !p.empty();
|
||||
return make_error_code(errc::success);
|
||||
return success;
|
||||
}
|
||||
|
||||
error_code has_extension(const Twine &path, bool &result) {
|
||||
@ -642,7 +642,7 @@ error_code has_extension(const Twine &path, bool &result) {
|
||||
if (error_code ec = extension(p, p)) return ec;
|
||||
|
||||
result = !p.empty();
|
||||
return make_error_code(errc::success);
|
||||
return success;
|
||||
}
|
||||
|
||||
error_code is_absolute(const Twine &path, bool &result) {
|
||||
@ -659,7 +659,7 @@ error_code is_absolute(const Twine &path, bool &result) {
|
||||
#endif
|
||||
|
||||
result = rootDir && rootName;
|
||||
return make_error_code(errc::success);
|
||||
return success;
|
||||
}
|
||||
|
||||
error_code is_relative(const Twine &path, bool &result) {
|
||||
|
@ -63,7 +63,7 @@ namespace {
|
||||
result.set_size(0);
|
||||
StringRef d(dir);
|
||||
result.append(d.begin(), d.end());
|
||||
return make_error_code(errc::success);
|
||||
return success;
|
||||
}
|
||||
}
|
||||
|
||||
@ -80,7 +80,7 @@ error_code current_path(SmallVectorImpl<char> &result) {
|
||||
return error_code(errno, system_category());
|
||||
|
||||
result.set_size(strlen(result.data()));
|
||||
return make_error_code(errc::success);
|
||||
return success;
|
||||
}
|
||||
|
||||
} // end namespace path
|
||||
@ -143,7 +143,7 @@ error_code copy_file(const Twine &from, const Twine &to, copy_option copt) {
|
||||
if (sz_read < 0)
|
||||
return error_code(errno, system_category());
|
||||
|
||||
return make_error_code(errc::success);
|
||||
return success;
|
||||
}
|
||||
|
||||
error_code create_directory(const Twine &path, bool &existed) {
|
||||
@ -151,13 +151,13 @@ error_code create_directory(const Twine &path, bool &existed) {
|
||||
StringRef p = path.toNullTerminatedStringRef(path_storage);
|
||||
|
||||
if (::mkdir(p.begin(), 0700) == -1) {
|
||||
if (errno != EEXIST)
|
||||
if (errno != errc::file_exists)
|
||||
return error_code(errno, system_category());
|
||||
existed = true;
|
||||
} else
|
||||
existed = false;
|
||||
|
||||
return make_error_code(errc::success);
|
||||
return success;
|
||||
}
|
||||
|
||||
error_code create_hard_link(const Twine &to, const Twine &from) {
|
||||
@ -170,7 +170,7 @@ error_code create_hard_link(const Twine &to, const Twine &from) {
|
||||
if (::link(t.begin(), f.begin()) == -1)
|
||||
return error_code(errno, system_category());
|
||||
|
||||
return make_error_code(errc::success);
|
||||
return success;
|
||||
}
|
||||
|
||||
error_code create_symlink(const Twine &to, const Twine &from) {
|
||||
@ -183,7 +183,7 @@ error_code create_symlink(const Twine &to, const Twine &from) {
|
||||
if (::symlink(t.begin(), f.begin()) == -1)
|
||||
return error_code(errno, system_category());
|
||||
|
||||
return make_error_code(errc::success);
|
||||
return success;
|
||||
}
|
||||
|
||||
error_code remove(const Twine &path, bool &existed) {
|
||||
@ -191,13 +191,13 @@ error_code remove(const Twine &path, bool &existed) {
|
||||
StringRef p = path.toNullTerminatedStringRef(path_storage);
|
||||
|
||||
if (::remove(p.begin()) == -1) {
|
||||
if (errno != ENOENT)
|
||||
if (errno != errc::no_such_file_or_directory)
|
||||
return error_code(errno, system_category());
|
||||
existed = false;
|
||||
} else
|
||||
existed = true;
|
||||
|
||||
return make_error_code(errc::success);
|
||||
return success;
|
||||
}
|
||||
|
||||
error_code rename(const Twine &from, const Twine &to) {
|
||||
@ -210,7 +210,7 @@ error_code rename(const Twine &from, const Twine &to) {
|
||||
if (::rename(f.begin(), t.begin()) == -1)
|
||||
return error_code(errno, system_category());
|
||||
|
||||
return make_error_code(errc::success);
|
||||
return success;
|
||||
}
|
||||
|
||||
error_code resize_file(const Twine &path, uint64_t size) {
|
||||
@ -220,7 +220,7 @@ error_code resize_file(const Twine &path, uint64_t size) {
|
||||
if (::truncate(p.begin(), size) == -1)
|
||||
return error_code(errno, system_category());
|
||||
|
||||
return make_error_code(errc::success);
|
||||
return success;
|
||||
}
|
||||
|
||||
error_code exists(const Twine &path, bool &result) {
|
||||
@ -229,13 +229,13 @@ error_code exists(const Twine &path, bool &result) {
|
||||
|
||||
struct stat status;
|
||||
if (::stat(p.begin(), &status) == -1) {
|
||||
if (errno != ENOENT)
|
||||
if (errno != errc::no_such_file_or_directory)
|
||||
return error_code(errno, system_category());
|
||||
result = false;
|
||||
} else
|
||||
result = true;
|
||||
|
||||
return make_error_code(errc::success);
|
||||
return success;
|
||||
}
|
||||
|
||||
error_code equivalent(const Twine &A, const Twine &B, bool &result) {
|
||||
@ -260,7 +260,7 @@ error_code equivalent(const Twine &A, const Twine &B, bool &result) {
|
||||
stat_a.st_ino == stat_b.st_ino;
|
||||
}
|
||||
|
||||
return make_error_code(errc::success);
|
||||
return success;
|
||||
}
|
||||
|
||||
error_code file_size(const Twine &path, uint64_t &result) {
|
||||
@ -271,10 +271,10 @@ error_code file_size(const Twine &path, uint64_t &result) {
|
||||
if (::stat(p.begin(), &status) == -1)
|
||||
return error_code(errno, system_category());
|
||||
if (!S_ISREG(status.st_mode))
|
||||
return error_code(EPERM, system_category());
|
||||
return make_error_code(errc::operation_not_permitted);
|
||||
|
||||
result = status.st_size;
|
||||
return make_error_code(errc::success);
|
||||
return success;
|
||||
}
|
||||
|
||||
error_code status(const Twine &path, file_status &result) {
|
||||
@ -359,10 +359,10 @@ rety_open_create:
|
||||
int RandomFD = ::open(RandomPath.c_str(), O_RDWR | O_CREAT | O_EXCL, 0600);
|
||||
if (RandomFD == -1) {
|
||||
// If the file existed, try again, otherwise, error.
|
||||
if (errno == EEXIST)
|
||||
if (errno == errc::file_exists)
|
||||
goto retry_random_path;
|
||||
// The path prefix doesn't exist.
|
||||
if (errno == ENOENT) {
|
||||
if (errno == errc::no_such_file_or_directory) {
|
||||
StringRef p(RandomPath.begin(), RandomPath.size());
|
||||
SmallString<64> dir_to_create;
|
||||
for (path::const_iterator i = path::begin(p),
|
||||
@ -375,7 +375,7 @@ rety_open_create:
|
||||
if (i->size() > 2 && (*i)[0] == '/' &&
|
||||
(*i)[1] == '/' &&
|
||||
(*i)[2] != '/')
|
||||
return error_code(ENOENT, system_category());
|
||||
return make_error_code(errc::no_such_file_or_directory);
|
||||
if (::mkdir(dir_to_create.c_str(), 0700) == -1)
|
||||
return error_code(errno, system_category());
|
||||
}
|
||||
@ -385,7 +385,7 @@ rety_open_create:
|
||||
return error_code(errno, system_category());
|
||||
}
|
||||
|
||||
// Make the path absolute.
|
||||
// Make the path absolute.
|
||||
char real_path_buff[PATH_MAX + 1];
|
||||
if (realpath(RandomPath.c_str(), real_path_buff) == NULL) {
|
||||
::close(RandomFD);
|
||||
@ -398,7 +398,7 @@ rety_open_create:
|
||||
result_path.append(d.begin(), d.end());
|
||||
|
||||
result_fd = RandomFD;
|
||||
return make_error_code(errc::success);
|
||||
return success;
|
||||
}
|
||||
|
||||
} // end namespace fs
|
||||
|
@ -48,7 +48,7 @@ namespace {
|
||||
utf16.begin(), 0);
|
||||
|
||||
if (len == 0)
|
||||
return make_error_code(windows_error(::GetLastError()));
|
||||
return windows_error(::GetLastError());
|
||||
|
||||
utf16.reserve(len + 1);
|
||||
utf16.set_size(len);
|
||||
@ -58,13 +58,13 @@ namespace {
|
||||
utf16.begin(), utf16.size());
|
||||
|
||||
if (len == 0)
|
||||
return make_error_code(windows_error(::GetLastError()));
|
||||
return windows_error(::GetLastError());
|
||||
|
||||
// Make utf16 null terminated.
|
||||
utf16.push_back(0);
|
||||
utf16.pop_back();
|
||||
|
||||
return make_error_code(errc::success);
|
||||
return success;
|
||||
}
|
||||
|
||||
error_code UTF16ToUTF8(const wchar_t *utf16, size_t utf16_len,
|
||||
@ -76,7 +76,7 @@ namespace {
|
||||
NULL, NULL);
|
||||
|
||||
if (len == 0)
|
||||
return make_error_code(windows_error(::GetLastError()));
|
||||
return windows_error(::GetLastError());
|
||||
|
||||
utf8.reserve(len);
|
||||
utf8.set_size(len);
|
||||
@ -88,13 +88,13 @@ namespace {
|
||||
NULL, NULL);
|
||||
|
||||
if (len == 0)
|
||||
return make_error_code(windows_error(::GetLastError()));
|
||||
return windows_error(::GetLastError());
|
||||
|
||||
// Make utf8 null terminated.
|
||||
utf8.push_back(0);
|
||||
utf8.pop_back();
|
||||
|
||||
return make_error_code(errc::success);
|
||||
return success;
|
||||
}
|
||||
|
||||
error_code TempDir(SmallVectorImpl<wchar_t> &result) {
|
||||
@ -102,7 +102,7 @@ namespace {
|
||||
DWORD len = ::GetTempPathW(result.capacity(), result.begin());
|
||||
|
||||
if (len == 0)
|
||||
return make_error_code(windows_error(::GetLastError()));
|
||||
return windows_error(::GetLastError());
|
||||
|
||||
if (len > result.capacity()) {
|
||||
result.reserve(len);
|
||||
@ -110,7 +110,7 @@ namespace {
|
||||
}
|
||||
|
||||
result.set_size(len);
|
||||
return make_error_code(errc::success);
|
||||
return success;
|
||||
}
|
||||
|
||||
struct AutoCryptoProvider {
|
||||
@ -136,7 +136,7 @@ retry_cur_dir:
|
||||
|
||||
// A zero return value indicates a failure other than insufficient space.
|
||||
if (len == 0)
|
||||
return make_error_code(windows_error(::GetLastError()));
|
||||
return windows_error(::GetLastError());
|
||||
|
||||
// If there's insufficient space, the len returned is larger than the len
|
||||
// given.
|
||||
@ -167,9 +167,9 @@ retry_cur_dir:
|
||||
result.data(), result.size(),
|
||||
NULL, NULL);
|
||||
if (len == 0)
|
||||
return make_error_code(windows_error(::GetLastError()));
|
||||
return windows_error(::GetLastError());
|
||||
|
||||
return make_error_code(errc::success);
|
||||
return success;
|
||||
}
|
||||
|
||||
} // end namespace path
|
||||
@ -194,9 +194,9 @@ error_code copy_file(const Twine &from, const Twine &to, copy_option copt) {
|
||||
copt != copy_option::overwrite_if_exists);
|
||||
|
||||
if (res == 0)
|
||||
return make_error_code(windows_error(::GetLastError()));
|
||||
return windows_error(::GetLastError());
|
||||
|
||||
return make_error_code(errc::success);
|
||||
return success;
|
||||
}
|
||||
|
||||
error_code create_directory(const Twine &path, bool &existed) {
|
||||
@ -208,15 +208,15 @@ error_code create_directory(const Twine &path, bool &existed) {
|
||||
return ec;
|
||||
|
||||
if (!::CreateDirectoryW(path_utf16.begin(), NULL)) {
|
||||
error_code ec = make_error_code(windows_error(::GetLastError()));
|
||||
if (ec == make_error_code(windows_error::already_exists))
|
||||
error_code ec = windows_error(::GetLastError());
|
||||
if (ec == windows_error::already_exists)
|
||||
existed = true;
|
||||
else
|
||||
return ec;
|
||||
} else
|
||||
existed = false;
|
||||
|
||||
return make_error_code(errc::success);
|
||||
return success;
|
||||
}
|
||||
|
||||
error_code create_hard_link(const Twine &to, const Twine &from) {
|
||||
@ -233,9 +233,9 @@ error_code create_hard_link(const Twine &to, const Twine &from) {
|
||||
if (error_code ec = UTF8ToUTF16(t, wide_to)) return ec;
|
||||
|
||||
if (!::CreateHardLinkW(wide_from.begin(), wide_to.begin(), NULL))
|
||||
return make_error_code(windows_error(::GetLastError()));
|
||||
return windows_error(::GetLastError());
|
||||
|
||||
return make_error_code(errc::success);
|
||||
return success;
|
||||
}
|
||||
|
||||
error_code create_symlink(const Twine &to, const Twine &from) {
|
||||
@ -256,9 +256,9 @@ error_code create_symlink(const Twine &to, const Twine &from) {
|
||||
if (error_code ec = UTF8ToUTF16(t, wide_to)) return ec;
|
||||
|
||||
if (!create_symbolic_link_api(wide_from.begin(), wide_to.begin(), 0))
|
||||
return make_error_code(windows_error(::GetLastError()));
|
||||
return windows_error(::GetLastError());
|
||||
|
||||
return make_error_code(errc::success);
|
||||
return success;
|
||||
}
|
||||
|
||||
error_code remove(const Twine &path, bool &existed) {
|
||||
@ -270,14 +270,14 @@ error_code remove(const Twine &path, bool &existed) {
|
||||
return ec;
|
||||
|
||||
if (!::DeleteFileW(path_utf16.begin())) {
|
||||
error_code ec = make_error_code(windows_error(::GetLastError()));
|
||||
if (ec != make_error_code(windows_error::file_not_found))
|
||||
error_code ec = windows_error(::GetLastError());
|
||||
if (ec != windows_error::file_not_found)
|
||||
return ec;
|
||||
existed = false;
|
||||
} else
|
||||
existed = true;
|
||||
|
||||
return make_error_code(errc::success);
|
||||
return success;
|
||||
}
|
||||
|
||||
error_code rename(const Twine &from, const Twine &to) {
|
||||
@ -294,9 +294,9 @@ error_code rename(const Twine &from, const Twine &to) {
|
||||
if (error_code ec = UTF8ToUTF16(t, wide_to)) return ec;
|
||||
|
||||
if (!::MoveFileW(wide_from.begin(), wide_to.begin()))
|
||||
return make_error_code(windows_error(::GetLastError()));
|
||||
return windows_error(::GetLastError());
|
||||
|
||||
return make_error_code(errc::success);
|
||||
return success;
|
||||
}
|
||||
|
||||
error_code resize_file(const Twine &path, uint64_t size) {
|
||||
@ -332,13 +332,13 @@ error_code exists(const Twine &path, bool &result) {
|
||||
if (attributes == INVALID_FILE_ATTRIBUTES) {
|
||||
// See if the file didn't actually exist.
|
||||
error_code ec = make_error_code(windows_error(::GetLastError()));
|
||||
if (ec != error_code(windows_error::file_not_found) &&
|
||||
ec != error_code(windows_error::path_not_found))
|
||||
if (ec != windows_error::file_not_found &&
|
||||
ec != windows_error::path_not_found)
|
||||
return ec;
|
||||
result = false;
|
||||
} else
|
||||
result = true;
|
||||
return make_error_code(errc::success);
|
||||
return success;
|
||||
}
|
||||
|
||||
error_code equivalent(const Twine &A, const Twine &B, bool &result) {
|
||||
@ -375,21 +375,21 @@ error_code equivalent(const Twine &A, const Twine &B, bool &result) {
|
||||
// If both handles are invalid, it's an error.
|
||||
if (HandleA == INVALID_HANDLE_VALUE &&
|
||||
HandleB == INVALID_HANDLE_VALUE)
|
||||
return make_error_code(windows_error(::GetLastError()));
|
||||
return windows_error(::GetLastError());
|
||||
|
||||
// If only one is invalid, it's false.
|
||||
if (HandleA == INVALID_HANDLE_VALUE &&
|
||||
HandleB == INVALID_HANDLE_VALUE) {
|
||||
result = false;
|
||||
return make_error_code(errc::success);
|
||||
return success;
|
||||
}
|
||||
|
||||
// Get file information.
|
||||
BY_HANDLE_FILE_INFORMATION InfoA, InfoB;
|
||||
if (!::GetFileInformationByHandle(HandleA, &InfoA))
|
||||
return make_error_code(windows_error(::GetLastError()));
|
||||
return windows_error(::GetLastError());
|
||||
if (!::GetFileInformationByHandle(HandleB, &InfoB))
|
||||
return make_error_code(windows_error(::GetLastError()));
|
||||
return windows_error(::GetLastError());
|
||||
|
||||
// See if it's all the same.
|
||||
result =
|
||||
@ -403,7 +403,7 @@ error_code equivalent(const Twine &A, const Twine &B, bool &result) {
|
||||
InfoA.ftLastWriteTime.dwHighDateTime ==
|
||||
InfoB.ftLastWriteTime.dwHighDateTime;
|
||||
|
||||
return make_error_code(errc::success);
|
||||
return success;
|
||||
}
|
||||
|
||||
error_code file_size(const Twine &path, uint64_t &result) {
|
||||
@ -418,13 +418,13 @@ error_code file_size(const Twine &path, uint64_t &result) {
|
||||
if (!::GetFileAttributesExW(path_utf16.begin(),
|
||||
::GetFileExInfoStandard,
|
||||
&FileData))
|
||||
return make_error_code(windows_error(::GetLastError()));
|
||||
return windows_error(::GetLastError());
|
||||
|
||||
result =
|
||||
(uint64_t(FileData.nFileSizeHigh) << (sizeof(FileData.nFileSizeLow) * 8))
|
||||
+ FileData.nFileSizeLow;
|
||||
|
||||
return make_error_code(errc::success);
|
||||
return success;
|
||||
}
|
||||
|
||||
error_code status(const Twine &path, file_status &result) {
|
||||
@ -504,13 +504,12 @@ error_code unique_file(const Twine &model, int &result_fd,
|
||||
|
||||
// Get a Crypto Provider for CryptGenRandom.
|
||||
AutoCryptoProvider CryptoProvider;
|
||||
BOOL success = ::CryptAcquireContextW(&CryptoProvider.CryptoProvider,
|
||||
NULL,
|
||||
NULL,
|
||||
PROV_RSA_FULL,
|
||||
0);
|
||||
if (!success)
|
||||
return make_error_code(windows_error(::GetLastError()));
|
||||
if (!::CryptAcquireContextW(&CryptoProvider.CryptoProvider,
|
||||
NULL,
|
||||
NULL,
|
||||
PROV_RSA_FULL,
|
||||
0))
|
||||
return windows_error(::GetLastError());
|
||||
|
||||
retry_random_path:
|
||||
random_path_utf16.set_size(0);
|
||||
@ -520,7 +519,7 @@ retry_random_path:
|
||||
if (*i == L'%') {
|
||||
BYTE val = 0;
|
||||
if (!::CryptGenRandom(CryptoProvider, 1, &val))
|
||||
return make_error_code(windows_error(::GetLastError()));
|
||||
return windows_error(::GetLastError());
|
||||
random_path_utf16.push_back("0123456789abcdef"[val & 15]);
|
||||
}
|
||||
else
|
||||
@ -543,11 +542,11 @@ retry_create_file:
|
||||
NULL);
|
||||
if (TempFileHandle == INVALID_HANDLE_VALUE) {
|
||||
// If the file existed, try again, otherwise, error.
|
||||
error_code ec = make_error_code(windows_error(::GetLastError()));
|
||||
if (ec == error_code(windows_error::file_exists))
|
||||
error_code ec = windows_error(::GetLastError());
|
||||
if (ec == windows_error::file_exists)
|
||||
goto retry_random_path;
|
||||
// Check for non-existing parent directories.
|
||||
if (ec == error_code(windows_error::path_not_found)) {
|
||||
if (ec == windows_error::path_not_found) {
|
||||
// Create the directories using result_path as temp storage.
|
||||
if (error_code ec = UTF16ToUTF8(random_path_utf16.begin(),
|
||||
random_path_utf16.size(), result_path))
|
||||
@ -570,7 +569,7 @@ retry_create_file:
|
||||
|
||||
// Create the directory.
|
||||
if (!::CreateDirectoryW(dir_to_create_utf16.begin(), NULL))
|
||||
return make_error_code(windows_error(::GetLastError()));
|
||||
return windows_error(::GetLastError());
|
||||
}
|
||||
}
|
||||
goto retry_create_file;
|
||||
@ -593,11 +592,11 @@ retry_create_file:
|
||||
::DeleteFileW(random_path_utf16.begin());
|
||||
// MSDN doesn't say anything about _open_osfhandle setting errno or
|
||||
// GetLastError(), so just return invalid_handle.
|
||||
return make_error_code(windows_error::invalid_handle);
|
||||
return windows_error::invalid_handle;
|
||||
}
|
||||
|
||||
result_fd = fd;
|
||||
return make_error_code(errc::success);
|
||||
return success;
|
||||
}
|
||||
} // end namespace fs
|
||||
} // end namespace sys
|
||||
|
Loading…
Reference in New Issue
Block a user