Skip to content

Commit 02fa97a

Browse files
BenWiederhakegmta
authored andcommitted
cp: Prefer FileSystem over DeprecatedFile
1 parent 6c9383c commit 02fa97a

File tree

1 file changed

+11
-12
lines changed

1 file changed

+11
-12
lines changed

Userland/Utilities/cp.cpp

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66

77
#include <AK/LexicalPath.h>
88
#include <LibCore/ArgsParser.h>
9-
#include <LibCore/DeprecatedFile.h>
109
#include <LibCore/System.h>
1110
#include <LibFileSystem/FileSystem.h>
1211
#include <LibMain/Main.h>
@@ -18,7 +17,7 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
1817
TRY(Core::System::pledge("stdio rpath wpath cpath fattr chown"));
1918

2019
bool link = false;
21-
auto preserve = Core::DeprecatedFile::PreserveMode::Nothing;
20+
auto preserve = FileSystem::PreserveMode::Nothing;
2221
bool recursion_allowed = false;
2322
bool verbose = false;
2423
Vector<StringView> sources;
@@ -34,19 +33,19 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
3433
"attributes",
3534
[&preserve](StringView s) {
3635
if (s.is_empty()) {
37-
preserve = Core::DeprecatedFile::PreserveMode::Permissions | Core::DeprecatedFile::PreserveMode::Ownership | Core::DeprecatedFile::PreserveMode::Timestamps;
36+
preserve = FileSystem::PreserveMode::Permissions | FileSystem::PreserveMode::Ownership | FileSystem::PreserveMode::Timestamps;
3837
return true;
3938
}
4039

4140
bool values_ok = true;
4241

4342
s.for_each_split_view(',', SplitBehavior::Nothing, [&](StringView value) {
4443
if (value == "mode"sv) {
45-
preserve |= Core::DeprecatedFile::PreserveMode::Permissions;
44+
preserve |= FileSystem::PreserveMode::Permissions;
4645
} else if (value == "ownership"sv) {
47-
preserve |= Core::DeprecatedFile::PreserveMode::Ownership;
46+
preserve |= FileSystem::PreserveMode::Ownership;
4847
} else if (value == "timestamps"sv) {
49-
preserve |= Core::DeprecatedFile::PreserveMode::Timestamps;
48+
preserve |= FileSystem::PreserveMode::Timestamps;
5049
} else {
5150
warnln("cp: Unknown or unimplemented --preserve attribute: '{}'", value);
5251
values_ok = false;
@@ -64,7 +63,7 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
6463
args_parser.add_positional_argument(destination, "Destination file path", "destination");
6564
args_parser.parse(arguments);
6665

67-
if (has_flag(preserve, Core::DeprecatedFile::PreserveMode::Permissions)) {
66+
if (has_flag(preserve, FileSystem::PreserveMode::Permissions)) {
6867
umask(0);
6968
} else {
7069
TRY(Core::System::pledge("stdio rpath wpath cpath fattr"));
@@ -77,15 +76,15 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
7776
? DeprecatedString::formatted("{}/{}", destination, LexicalPath::basename(source))
7877
: destination;
7978

80-
auto result = Core::DeprecatedFile::copy_file_or_directory(
79+
auto result = FileSystem::copy_file_or_directory(
8180
destination_path, source,
82-
recursion_allowed ? Core::DeprecatedFile::RecursionMode::Allowed : Core::DeprecatedFile::RecursionMode::Disallowed,
83-
link ? Core::DeprecatedFile::LinkMode::Allowed : Core::DeprecatedFile::LinkMode::Disallowed,
84-
Core::DeprecatedFile::AddDuplicateFileMarker::No,
81+
recursion_allowed ? FileSystem::RecursionMode::Allowed : FileSystem::RecursionMode::Disallowed,
82+
link ? FileSystem::LinkMode::Allowed : FileSystem::LinkMode::Disallowed,
83+
FileSystem::AddDuplicateFileMarker::No,
8584
preserve);
8685

8786
if (result.is_error()) {
88-
if (result.error().tried_recursing)
87+
if (result.error().code() == EISDIR)
8988
warnln("cp: -R not specified; omitting directory '{}'", source);
9089
else
9190
warnln("cp: unable to copy '{}' to '{}': {}", source, destination_path, strerror(result.error().code()));

0 commit comments

Comments
 (0)