1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 07:37:46 +00:00

LibCore: Remove the force parameter from File::remove

About half of the usages were not using `force` anyways, and the other
half presumably just got confused about what "force" really means in
this context (which is "ignore nonexistent files").

The only 'legitimate' user, which is `rm`, instead now handles this
completely internally instead.
This commit is contained in:
Tim Schumacher 2022-12-23 14:19:42 +01:00 committed by Tim Flynn
parent 355e761a02
commit 9805f73704
10 changed files with 22 additions and 20 deletions

View file

@ -687,7 +687,7 @@ static void load_page_for_screenshot_and_exit(HeadlessBrowserPageClient& page_cl
dbgln("Saving to {}", output_file_path);
if (Core::File::exists(output_file_path))
MUST(Core::File::remove(output_file_path, Core::File::RecursionMode::Disallowed, true));
MUST(Core::File::remove(output_file_path, Core::File::RecursionMode::Disallowed));
auto output_file = MUST(Core::Stream::File::open(output_file_path, Core::Stream::OpenMode::Write));

View file

@ -25,7 +25,7 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
Core::ArgsParser args_parser;
args_parser.add_option(recursive, "Delete directories recursively", "recursive", 'r');
args_parser.add_option(force, "Force", "force", 'f');
args_parser.add_option(force, "Ignore nonexistent files", "force", 'f');
args_parser.add_option(verbose, "Verbose", "verbose", 'v');
args_parser.add_option(no_preserve_root, "Do not consider '/' specially", "no-preserve-root", 0);
args_parser.add_positional_argument(paths, "Path(s) to remove", "path", Core::ArgsParser::Required::No);
@ -43,10 +43,15 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
continue;
}
auto result = Core::File::remove(path, recursive ? Core::File::RecursionMode::Allowed : Core::File::RecursionMode::Disallowed, force);
auto result = Core::File::remove(path, recursive ? Core::File::RecursionMode::Allowed : Core::File::RecursionMode::Disallowed);
if (result.is_error()) {
warnln("rm: cannot remove '{}': {}", path, static_cast<Error const&>(result.error()));
auto error = result.error();
if (force && error.is_errno() && error.code() == ENOENT)
continue;
warnln("rm: cannot remove '{}': {}", path, error);
had_errors = true;
}

View file

@ -76,7 +76,7 @@ static bool unpack_zip_member(Archive::ZipMember zip_member, bool quiet)
if (checksum.digest() != zip_member.crc32) {
warnln("Failed decompressing file {}: CRC32 mismatch", zip_member.name);
MUST(new_file->remove(zip_member.name, Core::File::RecursionMode::Disallowed, true));
MUST(Core::File::remove(zip_member.name, Core::File::RecursionMode::Disallowed));
return false;
}