/* * Copyright (c) 2024, Liav A. * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include #include #include #include void debug_write_string(StringView str); template void write_debug_output(CheckedFormatString&& fmtstr, Parameters const&... parameters) { AK::VariadicFormatParams variadic_format_parameters { parameters... }; auto message_buffer_or_error = FixedStringBuffer<128>::vformatted(fmtstr.view(), variadic_format_parameters); if (message_buffer_or_error.is_error()) { debug_write_string("PANIC: Failed to write message buffer:\n"sv); debug_write_string(fmtstr.view()); halt(); } auto message_buffer = message_buffer_or_error.release_value(); debug_write_string(message_buffer.representable_view()); }