From 6a7ffcddbaaff68e0263939ba54b4ffc05b68e07 Mon Sep 17 00:00:00 2001 From: Kenneth Myhra Date: Thu, 20 Jan 2022 15:42:33 +0100 Subject: [PATCH] lsirq: Port to LibMain --- Userland/Utilities/CMakeLists.txt | 1 + Userland/Utilities/lsirq.cpp | 40 +++++++------------------------ 2 files changed, 10 insertions(+), 31 deletions(-) diff --git a/Userland/Utilities/CMakeLists.txt b/Userland/Utilities/CMakeLists.txt index a416684fa7..5b5ea7d464 100644 --- a/Userland/Utilities/CMakeLists.txt +++ b/Userland/Utilities/CMakeLists.txt @@ -122,6 +122,7 @@ target_link_libraries(less LibMain) target_link_libraries(ln LibMain) target_link_libraries(logout LibMain) target_link_libraries(ls LibMain) +target_link_libraries(lsirq LibMain) target_link_libraries(lspci LibPCIDB LibMain) target_link_libraries(lsusb LibUSBDB LibMain) target_link_libraries(man LibMarkdown LibMain) diff --git a/Userland/Utilities/lsirq.cpp b/Userland/Utilities/lsirq.cpp index 634a297f2b..ea6f436157 100644 --- a/Userland/Utilities/lsirq.cpp +++ b/Userland/Utilities/lsirq.cpp @@ -4,47 +4,25 @@ * SPDX-License-Identifier: BSD-2-Clause */ -#include -#include #include #include #include -#include -#include +#include +#include -int main([[maybe_unused]] int argc, [[maybe_unused]] char** argv) +ErrorOr serenity_main(Main::Arguments) { - if (pledge("stdio rpath", nullptr) < 0) { - perror("pledge"); - return 1; - } + TRY(Core::System::pledge("stdio rpath")); + TRY(Core::System::unveil("/proc/interrupts", "r")); + TRY(Core::System::unveil(nullptr, nullptr)); - if (unveil("/proc/interrupts", "r") < 0) { - perror("unveil"); - return 1; - } + auto proc_interrupts = TRY(Core::File::open("/proc/interrupts", Core::OpenMode::ReadOnly)); - unveil(nullptr, nullptr); - - auto proc_interrupts = Core::File::construct("/proc/interrupts"); - if (!proc_interrupts->open(Core::OpenMode::ReadOnly)) { - warnln("Error: {}", proc_interrupts->error_string()); - return 1; - } - - if (pledge("stdio", nullptr) < 0) { - perror("pledge"); - return 1; - } + TRY(Core::System::pledge("stdio")); outln(" CPU0"); auto file_contents = proc_interrupts->read_all(); - auto json_or_error = JsonValue::from_string(file_contents); - if (json_or_error.is_error()) { - warnln("Error: {}", json_or_error.error()); - return 1; - } - auto json = json_or_error.release_value(); + auto json = TRY(JsonValue::from_string(file_contents)); json.as_array().for_each([](auto& value) { auto& handler = value.as_object(); auto purpose = handler.get("purpose").to_string();