diff --git a/AK/Format.cpp b/AK/Format.cpp index c63583934e..a67b46a518 100644 --- a/AK/Format.cpp +++ b/AK/Format.cpp @@ -906,7 +906,7 @@ void set_debug_enabled(bool value) is_debug_enabled = value; } -void vdbgln(StringView fmtstr, TypeErasedFormatParams& params) +void vdbg(StringView fmtstr, TypeErasedFormatParams& params, bool newline) { if (!is_debug_enabled) return; @@ -946,7 +946,8 @@ void vdbgln(StringView fmtstr, TypeErasedFormatParams& params) #endif MUST(vformat(builder, fmtstr, params)); - builder.append('\n'); + if (newline) + builder.append('\n'); auto const string = builder.string_view(); diff --git a/AK/Format.h b/AK/Format.h index 9b6b480fd1..44aa749964 100644 --- a/AK/Format.h +++ b/AK/Format.h @@ -605,13 +605,20 @@ inline void warnln() { outln(stderr); } #endif -void vdbgln(StringView fmtstr, TypeErasedFormatParams&); +void vdbg(StringView fmtstr, TypeErasedFormatParams&, bool newline = false); + +template +void dbg(CheckedFormatString&& fmtstr, Parameters const&... parameters) +{ + VariadicFormatParams variadic_format_params { parameters... }; + vdbg(fmtstr.view(), variadic_format_params, false); +} template void dbgln(CheckedFormatString&& fmtstr, Parameters const&... parameters) { VariadicFormatParams variadic_format_params { parameters... }; - vdbgln(fmtstr.view(), variadic_format_params); + vdbg(fmtstr.view(), variadic_format_params, true); } inline void dbgln() { dbgln(""); } @@ -739,6 +746,7 @@ using AK::warn; using AK::warnln; # endif +using AK::dbg; using AK::dbgln; using AK::CheckedFormatString;