From 44c3fe1ebb466ab5c296e1a1a6991c7c7b51b72e Mon Sep 17 00:00:00 2001 From: Victor Zverovich Date: Fri, 9 Feb 2024 15:58:56 -0800 Subject: [PATCH] Fix handling of static separator --- include/fmt/format-inl.h | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) --- a/include/fmt/format-inl.h +++ b/include/fmt/format-inl.h @@ -114,7 +114,11 @@ template FMT_FUNC Char d FMT_FUNC auto write_loc(appender out, loc_value value, const format_specs<>& specs, locale_ref loc) -> bool { -#ifndef FMT_STATIC_THOUSANDS_SEPARATOR +#ifdef FMT_STATIC_THOUSANDS_SEPARATOR + value.visit(loc_writer<>{ + out, specs, std::string(1, FMT_STATIC_THOUSANDS_SEPARATOR), "\3", "."}); + return true; +#else auto locale = loc.get(); // We cannot use the num_put facet because it may produce output in // a wrong encoding. @@ -123,7 +127,6 @@ FMT_FUNC auto write_loc(appender out, lo return std::use_facet(locale).put(out, value, specs); return facet(locale).put(out, value, specs); #endif - return false; } } // namespace detail