1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-29 13:55:07 +00:00

sysctl: Port to Core::Stream

This commit is contained in:
Sam Atkins 2022-09-14 17:24:17 +01:00 committed by Linus Groh
parent 722879e2b9
commit f7fa88976f

View file

@ -7,7 +7,7 @@
#include <LibCore/ArgsParser.h> #include <LibCore/ArgsParser.h>
#include <LibCore/DirIterator.h> #include <LibCore/DirIterator.h>
#include <LibCore/File.h> #include <LibCore/Stream.h>
#include <LibMain/Main.h> #include <LibMain/Main.h>
static bool s_set_variable = false; static bool s_set_variable = false;
@ -15,17 +15,17 @@ static bool s_set_variable = false;
static String get_variable(StringView name) static String get_variable(StringView name)
{ {
auto path = String::formatted("/sys/kernel/variables/{}", name); auto path = String::formatted("/sys/kernel/variables/{}", name);
auto file = Core::File::construct(path); auto file = Core::Stream::File::open(path, Core::Stream::OpenMode::Read);
if (!file->open(Core::OpenMode::ReadOnly)) { if (file.is_error()) {
warnln("Failed to open {}: {}", path, file->error_string()); warnln("Failed to open {}: {}", path, file.error());
return {}; return {};
} }
auto buffer = file->read_all(); auto buffer = file.value()->read_all();
if (file->error() < 0) { if (buffer.is_error()) {
warnln("Failed to read {}: {}", path, file->error_string()); warnln("Failed to read {}: {}", path, buffer.error());
return {}; return {};
} }
return { (char const*)buffer.data(), buffer.size(), Chomp }; return { (char const*)buffer.value().data(), buffer.value().size(), Chomp };
} }
static bool read_variable(StringView name) static bool read_variable(StringView name)
@ -43,13 +43,13 @@ static bool write_variable(StringView name, StringView value)
if (old_value.is_null()) if (old_value.is_null())
return false; return false;
auto path = String::formatted("/sys/kernel/variables/{}", name); auto path = String::formatted("/sys/kernel/variables/{}", name);
auto file = Core::File::construct(path); auto file = Core::Stream::File::open(path, Core::Stream::OpenMode::Write);
if (!file->open(Core::OpenMode::WriteOnly)) { if (file.is_error()) {
warnln("Failed to open {}: {}", path, file->error_string()); warnln("Failed to open {}: {}", path, file.error());
return false; return false;
} }
if (!file->write(value)) { if (auto result = file.value()->write(value.bytes()); result.is_error()) {
warnln("Failed to write {}: {}", path, file->error_string()); warnln("Failed to write {}: {}", path, result.error());
return false; return false;
} }
outln("{}: {} -> {}", name, old_value, value); outln("{}: {} -> {}", name, old_value, value);