diff --git a/include/fmt/format.h b/include/fmt/format.h --- a/include/fmt/format.h +++ b/include/fmt/format.h @@ -2294,17 +2294,17 @@ FMT_CONSTEXPR auto write(OutputIt out, b const format_specs& specs, locale_ref) -> OutputIt { return write(out, s, specs); } template FMT_CONSTEXPR auto write(OutputIt out, const Char* s, const format_specs& specs, locale_ref) -> OutputIt { if (specs.type() == presentation_type::pointer) return write_ptr(out, bit_cast(s), &specs); - if (!s) report_error("string pointer is null"); + if (!s) return write_bytes(out, "(null)", specs); return write(out, basic_string_view(s), specs, {}); } template ::value && !std::is_same::value && !std::is_same::value)> FMT_CONSTEXPR auto write(OutputIt out, T value) -> OutputIt { @@ -3573,18 +3573,17 @@ FMT_CONSTEXPR auto write(OutputIt out, C auto it = reserve(out, 1); *it++ = value; return base_iterator(out, it); } template FMT_CONSTEXPR20 auto write(OutputIt out, const Char* value) -> OutputIt { if (value) return write(out, basic_string_view(value)); - report_error("string pointer is null"); - return out; + return write_bytes(out, "(null)"); } template ::value)> auto write(OutputIt out, const T* value, const format_specs& specs = {}, locale_ref = {}) -> OutputIt { return write_ptr(out, bit_cast(value), &specs); }