diff --git a/src/lib/fmt/SocketAddressFormatter.cxx b/src/lib/fmt/SocketAddressFormatter.cxx index 048ea981f..43798c8cb 100644 --- a/src/lib/fmt/SocketAddressFormatter.cxx +++ b/src/lib/fmt/SocketAddressFormatter.cxx @@ -2,11 +2,19 @@ // author: Max Kellermann #include "SocketAddressFormatter.hxx" -#include "net/ToString.hxx" +#include "net/FormatAddress.hxx" auto fmt::formatter::format(SocketAddress address, format_context &ctx) const -> format_context::iterator { - return formatter::format(ToString(address), ctx); + char buffer[256]; + std::string_view s; + + if (ToString(std::span{buffer}, address)) + s = buffer; + else + s = "?"; + + return formatter::format(s, ctx); }