diff --git a/Userland/Utilities/patch.cpp b/Userland/Utilities/patch.cpp index cba196ffe8..6bb0681adb 100644 --- a/Userland/Utilities/patch.cpp +++ b/Userland/Utilities/patch.cpp @@ -29,9 +29,15 @@ static ErrorOr do_patch(StringView path_of_file_to_patch, Diff::Patch cons ErrorOr serenity_main(Main::Arguments arguments) { + StringView directory; + Core::ArgsParser args_parser; + args_parser.add_option(directory, "Change the working directory to before applying the patch file", "directory", 'd', "directory"); args_parser.parse(arguments); + if (!directory.is_null()) + TRY(Core::System::chdir(directory)); + auto input = TRY(Core::File::standard_input()); auto patch_content = TRY(input->read_until_eof());