1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-06-01 09:28:13 +00:00

LibCore: Use ErrorOr<T> for Core::File::link_file()

This commit is contained in:
Andreas Kling 2021-11-07 00:43:57 +01:00
parent 0f5477c721
commit b2170c11a4
2 changed files with 4 additions and 7 deletions

View file

@ -498,7 +498,7 @@ Result<void, File::CopyError> File::copy_directory(String const& dst_path, Strin
return {};
}
Result<void, OSError> File::link_file(String const& dst_path, String const& src_path)
ErrorOr<void> File::link_file(String const& dst_path, String const& src_path)
{
int duplicate_count = 0;
while (access(get_duplicate_name(dst_path, duplicate_count).characters(), F_OK) == 0) {
@ -507,11 +507,8 @@ Result<void, OSError> File::link_file(String const& dst_path, String const& src_
if (duplicate_count != 0) {
return link_file(get_duplicate_name(dst_path, duplicate_count), src_path);
}
int rc = symlink(src_path.characters(), dst_path.characters());
if (rc < 0) {
return OSError(errno);
}
if (symlink(src_path.characters(), dst_path.characters()) < 0)
return Error::from_errno(errno);
return {};
}

View file

@ -70,7 +70,7 @@ public:
static String real_path_for(String const& filename);
static String read_link(String const& link_path);
static Result<void, OSError> link_file(String const& dst_path, String const& src_path);
static ErrorOr<void> link_file(String const& dst_path, String const& src_path);
struct RemoveError {
String file;