From 4ca35ac1b8ad297830cd443dcbc62774fe1ddd18 Mon Sep 17 00:00:00 2001 From: Tim Schumacher Date: Tue, 23 Nov 2021 12:32:41 +0100 Subject: [PATCH] find: Port to LibMain --- Userland/Utilities/CMakeLists.txt | 1 + Userland/Utilities/find.cpp | 14 ++++++-------- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/Userland/Utilities/CMakeLists.txt b/Userland/Utilities/CMakeLists.txt index a9b9a66390..2027c6a5ec 100644 --- a/Userland/Utilities/CMakeLists.txt +++ b/Userland/Utilities/CMakeLists.txt @@ -74,6 +74,7 @@ target_link_libraries(echo LibMain) target_link_libraries(expr LibRegex) target_link_libraries(fdtdump LibDeviceTree) target_link_libraries(file LibGfx LibIPC LibCompress) +target_link_libraries(find LibMain) target_link_libraries(fortune LibMain) target_link_libraries(functrace LibDebug LibX86) target_link_libraries(gml-format LibGUI) diff --git a/Userland/Utilities/find.cpp b/Userland/Utilities/find.cpp index c5a78203c8..a8d6e83500 100644 --- a/Userland/Utilities/find.cpp +++ b/Userland/Utilities/find.cpp @@ -10,6 +10,8 @@ #include #include #include +#include +#include #include #include #include @@ -563,17 +565,13 @@ static void walk_tree(FileData& root_data, Command& command) closedir(dir); } -int main(int argc, char* argv[]) +ErrorOr serenity_main(Main::Arguments arguments) { - LexicalPath root_path(parse_options(argc, argv)); + LexicalPath root_path(parse_options(arguments.argc, arguments.argv)); String dirname = root_path.dirname(); String basename = root_path.basename(); - int dirfd = open(dirname.characters(), O_RDONLY | O_DIRECTORY | O_CLOEXEC); - if (dirfd < 0) { - perror(dirname.characters()); - return 1; - } + int dirfd = TRY(Core::System::open(dirname, O_RDONLY | O_DIRECTORY | O_CLOEXEC)); FileData file_data { root_path, @@ -583,7 +581,7 @@ int main(int argc, char* argv[]) false, DT_UNKNOWN, }; - auto command = parse_all_commands(argv); + auto command = parse_all_commands(arguments.argv); walk_tree(file_data, *command); close(dirfd); return g_there_was_an_error ? 1 : 0;