mirror of
https://github.com/nlohmann/json.git
synced 2026-10-01 14:35:18 +00:00
Fix CI: useless cast in the Zmij digit writer and snprintf truncation
- ci_test_gcc (Linux x86-64): static_cast<std::size_t>(d.significand % 100)
was a useless cast (a std::uint64_t prvalue, the same type as
std::size_t there); cast a named variable instead.
- ci_test_gcc: -Werror=format-truncation for snprintf("%.*e") in
unit-to_chars.cpp, whose precision GCC cannot bound; write the
neighboring decimal with a stream (classic locale, std::scientific),
which gives the same text.
Signed-off-by: Niels Lohmann <mail@nlohmann.me>
This commit is contained in:
@@ -983,7 +983,8 @@ inline void shortest_digits(char* buf, int& len, int& decimal_exponent, double v
|
||||
std::size_t n = digits.size();
|
||||
while (d.significand >= 100)
|
||||
{
|
||||
const auto i = static_cast<std::size_t>(d.significand % 100) * 2;
|
||||
const std::uint64_t two_digits = d.significand % 100; // a variable: GCC calls a cast of the remainder useless where std::uint64_t is std::size_t
|
||||
const auto i = static_cast<std::size_t>(two_digits) * 2;
|
||||
d.significand /= 100;
|
||||
n -= 2;
|
||||
digits[n] = pairs[i];
|
||||
|
||||
Reference in New Issue
Block a user