From 6386b54746a6962cb9f986679842015e1eaa5c77 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Tue, 23 Nov 2021 15:44:17 +0100 Subject: [PATCH] dmesg: Port to LibMain :^) --- Userland/Utilities/CMakeLists.txt | 1 + Userland/Utilities/dmesg.cpp | 30 +++++++++--------------------- 2 files changed, 10 insertions(+), 21 deletions(-) diff --git a/Userland/Utilities/CMakeLists.txt b/Userland/Utilities/CMakeLists.txt index 0a4fbf7e3c..00b62ffd80 100644 --- a/Userland/Utilities/CMakeLists.txt +++ b/Userland/Utilities/CMakeLists.txt @@ -61,6 +61,7 @@ target_link_libraries(config LibConfig) target_link_libraries(copy LibGUI) target_link_libraries(diff LibDiff) target_link_libraries(disasm LibX86) +target_link_libraries(dmesg LibMain) target_link_libraries(expr LibRegex) target_link_libraries(fdtdump LibDeviceTree) target_link_libraries(file LibGfx LibIPC LibCompress) diff --git a/Userland/Utilities/dmesg.cpp b/Userland/Utilities/dmesg.cpp index 2e890004fc..7877ae9288 100644 --- a/Userland/Utilities/dmesg.cpp +++ b/Userland/Utilities/dmesg.cpp @@ -1,33 +1,21 @@ /* - * Copyright (c) 2018-2020, Andreas Kling + * Copyright (c) 2018-2021, Andreas Kling * * SPDX-License-Identifier: BSD-2-Clause */ #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", nullptr)); + TRY(Core::System::unveil("/proc/dmesg", "r")); + TRY(Core::System::unveil(nullptr, nullptr)); - if (unveil("/proc/dmesg", "r") < 0) { - perror("unveil"); - return 1; - } - - unveil(nullptr, nullptr); - - auto file = Core::File::construct("/proc/dmesg"); - if (!file->open(Core::OpenMode::ReadOnly)) { - warnln("Failed to open {}: {}", file->name(), file->error_string()); - return 1; - } + auto file = TRY(Core::File::open("/proc/dmesg", Core::OpenMode::ReadOnly)); auto buffer = file->read_all(); - out("{}", String::copy(buffer)); + out("{}", StringView { buffer }); return 0; }