diff --git a/Userland/Utilities/CMakeLists.txt b/Userland/Utilities/CMakeLists.txt index fcc73de8db2..0fef54cc541 100644 --- a/Userland/Utilities/CMakeLists.txt +++ b/Userland/Utilities/CMakeLists.txt @@ -140,6 +140,7 @@ target_link_libraries(shot LibGUI) target_link_libraries(sql LibLine LibSQL LibIPC) target_link_libraries(stat LibMain) target_link_libraries(strace LibMain) +target_link_libraries(tac LibMain) target_link_libraries(su LibCrypt LibMain) target_link_libraries(tar LibArchive LibCompress) target_link_libraries(telws LibProtocol LibLine) diff --git a/Userland/Utilities/tac.cpp b/Userland/Utilities/tac.cpp index e6681158019..77f90902d98 100644 --- a/Userland/Utilities/tac.cpp +++ b/Userland/Utilities/tac.cpp @@ -1,27 +1,26 @@ /* - * Copyright (c) 2021, Federico Guerinoni + * Copyright (c) 2021-2022, Federico Guerinoni * * SPDX-License-Identifier: BSD-2-Clause */ #include +#include +#include #include #include #include -int main(int argc, char** argv) +ErrorOr serenity_main(Main::Arguments arguments) { - if (pledge("stdio rpath", nullptr) < 0) { - perror("pledge"); - return 1; - } + TRY(Core::System::pledge("stdio rpath")); Vector paths; Core::ArgsParser args_parser; args_parser.set_general_help("Concatenate files or pipes to stdout, last line first."); args_parser.add_positional_argument(paths, "File path(s)", "path", Core::ArgsParser::Required::No); - args_parser.parse(argc, argv); + args_parser.parse(arguments); Vector streams; auto num_paths = paths.size(); @@ -54,10 +53,7 @@ int main(int argc, char** argv) } }; - if (pledge("stdio", nullptr) < 0) { - perror("pledge"); - return 1; - } + TRY(Core::System::pledge("stdio")); for (auto* stream : streams) { Vector lines;