From f6884235e20fd3d2374479882922a9a4a9051ae3 Mon Sep 17 00:00:00 2001 From: Sam Atkins Date: Wed, 14 Sep 2022 15:03:04 +0100 Subject: [PATCH] LibCore: Add a ConfigFile::open() overload for Core::Stream::File Core::Stream is already used internally, but ironically you could not open a ConfigFile using one! --- Userland/Libraries/LibCore/ConfigFile.cpp | 5 +++++ Userland/Libraries/LibCore/ConfigFile.h | 1 + 2 files changed, 6 insertions(+) diff --git a/Userland/Libraries/LibCore/ConfigFile.cpp b/Userland/Libraries/LibCore/ConfigFile.cpp index 5df2fce419..e56b1a23cb 100644 --- a/Userland/Libraries/LibCore/ConfigFile.cpp +++ b/Userland/Libraries/LibCore/ConfigFile.cpp @@ -60,6 +60,11 @@ ErrorOr> ConfigFile::open(String const& filename, Allo ErrorOr> ConfigFile::open(String const& filename, int fd) { auto file = TRY(Stream::File::adopt_fd(fd, Stream::OpenMode::ReadWrite)); + return open(filename, move(file)); +} + +ErrorOr> ConfigFile::open(String const& filename, NonnullOwnPtr file) +{ auto buffered_file = TRY(Stream::BufferedFile::create(move(file))); auto config_file = TRY(adopt_nonnull_ref_or_enomem(new (nothrow) ConfigFile(filename, move(buffered_file)))); diff --git a/Userland/Libraries/LibCore/ConfigFile.h b/Userland/Libraries/LibCore/ConfigFile.h index 044acd050b..842fd4724f 100644 --- a/Userland/Libraries/LibCore/ConfigFile.h +++ b/Userland/Libraries/LibCore/ConfigFile.h @@ -30,6 +30,7 @@ public: static ErrorOr> open_for_system(String const& app_name, AllowWriting = AllowWriting::No); static ErrorOr> open(String const& filename, AllowWriting = AllowWriting::No); static ErrorOr> open(String const& filename, int fd); + static ErrorOr> open(String const& filename, NonnullOwnPtr); ~ConfigFile(); bool has_group(String const&) const;