mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-09-19 17:27:51 +03:00
LookupServer: Prefer File::read_until_eof over DeprecatedFile
This commit is contained in:
parent
9474e0cd94
commit
b4ad3f1b37
Notes:
sideshowbarker
2024-07-17 03:18:29 +09:00
Author: https://github.com/BenWiederhake Commit: https://github.com/SerenityOS/serenity/commit/b4ad3f1b37 Pull-request: https://github.com/SerenityOS/serenity/pull/18844 Reviewed-by: https://github.com/LucasChollet Reviewed-by: https://github.com/awesomekling Reviewed-by: https://github.com/gmta ✅ Reviewed-by: https://github.com/krkk
@ -11,7 +11,7 @@
|
||||
#include <AK/JsonArray.h>
|
||||
#include <AK/JsonObject.h>
|
||||
#include <AK/JsonValue.h>
|
||||
#include <LibCore/DeprecatedFile.h>
|
||||
#include <LibCore/File.h>
|
||||
#include <LibCore/System.h>
|
||||
#include <limits.h>
|
||||
#include <poll.h>
|
||||
@ -119,18 +119,25 @@ ErrorOr<size_t> MulticastDNS::emit_packet(Packet const& packet, sockaddr_in cons
|
||||
|
||||
Vector<IPv4Address> MulticastDNS::local_addresses() const
|
||||
{
|
||||
auto file = Core::DeprecatedFile::construct("/sys/kernel/net/adapters");
|
||||
if (!file->open(Core::OpenMode::ReadOnly)) {
|
||||
dbgln("Failed to open /sys/kernel/net/adapters: {}", file->error_string());
|
||||
auto file_or_error = Core::File::open("/sys/kernel/net/adapters"sv, Core::File::OpenMode::Read);
|
||||
if (file_or_error.is_error()) {
|
||||
dbgln("Failed to open /sys/kernel/net/adapters: {}", file_or_error.error());
|
||||
return {};
|
||||
}
|
||||
auto file_contents_or_error = file_or_error.value()->read_until_eof();
|
||||
if (file_or_error.is_error()) {
|
||||
dbgln("Cannot read /sys/kernel/net/adapters: {}", file_contents_or_error.error());
|
||||
return {};
|
||||
}
|
||||
auto json_or_error = JsonValue::from_string(file_contents_or_error.value());
|
||||
if (json_or_error.is_error()) {
|
||||
dbgln("Invalid JSON(?) in /sys/kernel/net/adapters: {}", json_or_error.error());
|
||||
return {};
|
||||
}
|
||||
|
||||
auto file_contents = file->read_all();
|
||||
auto json = JsonValue::from_string(file_contents).release_value_but_fixme_should_propagate_errors();
|
||||
|
||||
Vector<IPv4Address> addresses;
|
||||
|
||||
json.as_array().for_each([&addresses](auto& value) {
|
||||
json_or_error.value().as_array().for_each([&addresses](auto& value) {
|
||||
auto if_object = value.as_object();
|
||||
auto address = if_object.get_deprecated_string("ipv4_address"sv).value_or({});
|
||||
auto ipv4_address = IPv4Address::from_string(address);
|
||||
|
Loading…
Reference in New Issue
Block a user