utmpupdate: Port to Core::Stream

This commit is contained in:
Sam Atkins 2022-09-14 17:36:26 +01:00 committed by Linus Groh
parent 6d7435d251
commit 8d798c2716
Notes: sideshowbarker 2024-07-17 05:00:08 +09:00

View file

@ -10,7 +10,7 @@
#include <AK/JsonValue.h>
#include <LibCore/ArgsParser.h>
#include <LibCore/DateTime.h>
#include <LibCore/File.h>
#include <LibCore/Stream.h>
#include <LibCore/System.h>
#include <LibMain/Main.h>
#include <unistd.h>
@ -42,9 +42,9 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
dbgln("Updating utmp from UID={} GID={} EGID={} PID={}", getuid(), getgid(), getegid(), pid);
auto file = TRY(Core::File::open("/var/run/utmp", Core::OpenMode::ReadWrite));
auto file = TRY(Core::Stream::File::open("/var/run/utmp"sv, Core::Stream::OpenMode::ReadWrite));
auto file_contents = file->read_all();
auto file_contents = TRY(file->read_all());
auto previous_json = TRY(JsonValue::from_string(file_contents));
JsonObject json;
@ -70,20 +70,9 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
json.remove(tty_name);
}
if (!file->seek(0)) {
dbgln("Seek failed");
return 1;
}
if (!file->truncate(0)) {
dbgln("Truncation failed");
return 1;
}
if (!file->write(json.to_string())) {
dbgln("Write failed");
return 1;
}
TRY(file->seek(0, Core::Stream::SeekMode::SetPosition));
TRY(file->truncate(0));
TRY(file->write(json.to_string().bytes()));
return 0;
}