From e548b2cff22cf00dece7e033dcfcce598379082c Mon Sep 17 00:00:00 2001 From: Kenneth Myhra Date: Tue, 29 Mar 2022 21:25:21 +0200 Subject: [PATCH] tr: Port to LibMain --- Userland/Utilities/CMakeLists.txt | 1 + Userland/Utilities/tr.cpp | 11 ++++++----- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/Userland/Utilities/CMakeLists.txt b/Userland/Utilities/CMakeLists.txt index 45df1f8c31..a2a90b1844 100644 --- a/Userland/Utilities/CMakeLists.txt +++ b/Userland/Utilities/CMakeLists.txt @@ -205,6 +205,7 @@ target_link_libraries(test_env LibMain) target_link_libraries(timezone LibMain) target_link_libraries(top LibMain) target_link_libraries(touch LibMain) +target_link_libraries(tr LibMain) target_link_libraries(traceroute LibMain) target_link_libraries(tree LibMain) target_link_libraries(true LibMain) diff --git a/Userland/Utilities/tr.cpp b/Userland/Utilities/tr.cpp index d028e1ddd6..1e1f162c0d 100644 --- a/Userland/Utilities/tr.cpp +++ b/Userland/Utilities/tr.cpp @@ -8,6 +8,7 @@ #include #include #include +#include #include #include @@ -88,7 +89,7 @@ static String build_set(StringView specification) return out.to_string(); } -int main(int argc, char** argv) +ErrorOr serenity_main(Main::Arguments arguments) { bool complement_flag = false; bool delete_flag = false; @@ -102,25 +103,25 @@ int main(int argc, char** argv) args_parser.add_option(squeeze_flag, "Omit repeated characters listed in the last given set from the output", "squeeze-repeats", 's'); args_parser.add_positional_argument(from_chars, "Set of characters to translate from", "from"); args_parser.add_positional_argument(to_chars, "Set of characters to translate to", "to", Core::ArgsParser::Required::No); - args_parser.parse(argc, argv); + args_parser.parse(arguments); bool transform_flag = to_chars && !delete_flag; if (!transform_flag && !delete_flag && !squeeze_flag) { warnln("tr: Missing operand"); - args_parser.print_usage(stderr, argv[0]); + args_parser.print_usage(stderr, arguments.argv[0]); return 1; } if (delete_flag && squeeze_flag && !to_chars) { warnln("tr: Combined delete and squeeze operations need two sets of characters"); - args_parser.print_usage(stderr, argv[0]); + args_parser.print_usage(stderr, arguments.argv[0]); return 1; } if (delete_flag && !squeeze_flag && to_chars) { warnln("tr: Only one set of characters may be given when deleting without squeezing"); - args_parser.print_usage(stderr, argv[0]); + args_parser.print_usage(stderr, arguments.argv[0]); return 1; }