From 5408dd183c0073d09bcd2ac383a5d8033d14fb60 Mon Sep 17 00:00:00 2001 From: Stepan Ponomarev Date: Wed, 2 Nov 2022 21:42:24 +0300 Subject: [PATCH] Merge write_fractional_seconds call --- include/fmt/chrono.h | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/include/fmt/chrono.h b/include/fmt/chrono.h index 51ef184f..397a2704 100644 --- a/include/fmt/chrono.h +++ b/include/fmt/chrono.h @@ -1038,7 +1038,7 @@ void write_fractional_seconds(OutputIt& out, Duration d, int precision = -1) { const auto fractional = detail::abs(d) - std::chrono::duration_cast(d); - const auto& subseconds = + const auto subseconds = std::chrono::treat_as_floating_point< typename subsecond_precision::rep>::value ? fractional.count() @@ -1860,13 +1860,8 @@ struct chrono_formatter { out = std::copy(buf.begin(), buf.end(), out); } else { write(second(), 2); - if (precision >= 0) { - write_fractional_seconds( - out, std::chrono::duration(val), precision); - } else { - write_fractional_seconds( - out, std::chrono::duration(val)); - } + write_fractional_seconds( + out, std::chrono::duration(val), precision); } return; }