From 7eb186dad4b99bf80f8214a35559570d7e0ac7fb Mon Sep 17 00:00:00 2001 From: Bananymous Date: Wed, 18 Dec 2024 01:43:46 +0200 Subject: [PATCH] Kernel: Add to_sv() helper for AML String --- kernel/include/kernel/ACPI/AML/Node.h | 12 ++++++------ kernel/kernel/ACPI/AML/Node.cpp | 5 +---- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/kernel/include/kernel/ACPI/AML/Node.h b/kernel/include/kernel/ACPI/AML/Node.h index 92d35b18..2f7c091b 100644 --- a/kernel/include/kernel/ACPI/AML/Node.h +++ b/kernel/include/kernel/ACPI/AML/Node.h @@ -72,6 +72,11 @@ namespace Kernel::ACPI::AML struct Buffer { + BAN::StringView as_sv() const + { + return BAN::StringView(reinterpret_cast(bytes), size); + } + uint64_t size; uint32_t ref_count; uint8_t bytes[]; @@ -335,12 +340,7 @@ namespace BAN::Formatter print(putc, "", node.as.integer.value); break; case Kernel::ACPI::AML::Node::Type::String: - print(putc, "", - BAN::StringView( - reinterpret_cast(node.as.str_buf->bytes), - node.as.str_buf->size - ) - ); + print(putc, "", node.as.str_buf->as_sv()); break; case Kernel::ACPI::AML::Node::Type::Package: print(putc, "{}", *node.as.package); diff --git a/kernel/kernel/ACPI/AML/Node.cpp b/kernel/kernel/ACPI/AML/Node.cpp index fcdae501..355bd614 100644 --- a/kernel/kernel/ACPI/AML/Node.cpp +++ b/kernel/kernel/ACPI/AML/Node.cpp @@ -1507,10 +1507,7 @@ namespace Kernel::ACPI::AML return {}; }; - auto source_sv = BAN::StringView( - reinterpret_cast(source.as.str_buf->bytes), - source.as.str_buf->size - ); + auto source_sv = source.as.str_buf->as_sv(); while (!source_sv.empty() && !isdigit(source_sv[0]) && source_sv[0] != '-' && source_sv[0] != '+') source_sv = source_sv.substring(1);