From decf1afbaa44d9083137675159ae2fc280f2b1ac Mon Sep 17 00:00:00 2001 From: Robin Burchell Date: Sun, 2 Jun 2019 12:13:06 +0200 Subject: [PATCH] Userland: Use CFile in dmesg --- Userland/dmesg.cpp | 25 +++++++------------------ 1 file changed, 7 insertions(+), 18 deletions(-) diff --git a/Userland/dmesg.cpp b/Userland/dmesg.cpp index 4f396a1b53..f8b3b48db1 100644 --- a/Userland/dmesg.cpp +++ b/Userland/dmesg.cpp @@ -2,30 +2,19 @@ #include #include #include +#include int main(int argc, char** argv) { (void) argc; (void) argv; - int fd = open("/proc/dmesg", O_RDONLY); - if (fd < 0) { - perror("open /proc/dmesg"); + CFile f("/proc/dmesg"); + if (!f.open(CIODevice::ReadOnly)) { + fprintf(stderr, "open: failed to open /proc/dmesg: %s", f.error_string()); return 1; } - for (;;) { - char buffer[BUFSIZ]; - ssize_t nread = read(fd, buffer, sizeof(buffer)); - if (nread < 0) { - perror("read"); - return 1; - } - if (nread == 0) { - break; - } - ssize_t nwritten = write(1, buffer, nread); - assert(nwritten == nread); - } - int rc = close(fd); - assert(rc == 0); + const auto& b = f.read_all(); + for (auto i = 0; i < b.size(); ++i) + putchar(b[i]); return 0; }