diff --git a/Userland/Utilities/CMakeLists.txt b/Userland/Utilities/CMakeLists.txt index 8b3f1ef9e75..1a562336637 100644 --- a/Userland/Utilities/CMakeLists.txt +++ b/Userland/Utilities/CMakeLists.txt @@ -90,6 +90,7 @@ target_link_libraries(expr LibRegex) target_link_libraries(fdtdump LibDeviceTree LibMain) target_link_libraries(file LibGfx LibIPC LibCompress LibMain) target_link_libraries(find LibMain) +target_link_libraries(flock LibMain) target_link_libraries(fortune LibMain) target_link_libraries(functrace LibDebug LibX86) target_link_libraries(gml-format LibGUI) diff --git a/Userland/Utilities/flock.cpp b/Userland/Utilities/flock.cpp index 0172d16f58a..565910139da 100644 --- a/Userland/Utilities/flock.cpp +++ b/Userland/Utilities/flock.cpp @@ -5,30 +5,21 @@ */ #include -#include -#include -#include +#include +#include #include #include #include -int main(int argc, char** argv) +ErrorOr serenity_main(Main::Arguments arguments) { - if (argc < 3) { + if (arguments.strings.size() < 3) { warnln("usage: flock "); return 1; } - pid_t child_pid; - if ((errno = posix_spawnp(&child_pid, argv[2], nullptr, nullptr, &argv[2], environ))) { - perror("posix_spawn"); - return 1; - } + pid_t child_pid = TRY(Core::System::posix_spawnp(arguments.strings[2], nullptr, nullptr, &arguments.argv[2], environ)); + int status = TRY(Core::System::waitpid(child_pid, &status, 0)); - int status; - if (waitpid(child_pid, &status, 0) < 0) { - perror("waitpid"); - return 1; - } return WEXITSTATUS(status); }