Merge pull request #1967 from dota17/dota17-disable

Fix C26451 warnnings in to_chars.hpp
This commit is contained in:
Niels Lohmann 2020-04-17 10:08:21 +02:00 committed by GitHub
commit 69ac336042
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 16 additions and 16 deletions

View file

@ -990,11 +990,11 @@ inline char* format_buffer(char* buf, int len, int decimal_exponent,
// digits[000] // digits[000]
// len <= max_exp + 2 // len <= max_exp + 2
std::memset(buf + k, '0', static_cast<size_t>(n - k)); std::memset(buf + k, '0', static_cast<size_t>(n) - static_cast<size_t>(k));
// Make it look like a floating-point number (#362, #378) // Make it look like a floating-point number (#362, #378)
buf[n + 0] = '.'; buf[n + 0] = '.';
buf[n + 1] = '0'; buf[n + 1] = '0';
return buf + (n + 2); return buf + (static_cast<size_t>(n) + 2);
} }
if (0 < n and n <= max_exp) if (0 < n and n <= max_exp)
@ -1004,9 +1004,9 @@ inline char* format_buffer(char* buf, int len, int decimal_exponent,
assert(k > n); assert(k > n);
std::memmove(buf + (n + 1), buf + n, static_cast<size_t>(k - n)); std::memmove(buf + (static_cast<size_t>(n) + 1), buf + n, static_cast<size_t>(k) - static_cast<size_t>(n));
buf[n] = '.'; buf[n] = '.';
return buf + (k + 1); return buf + (static_cast<size_t>(k) + 1);
} }
if (min_exp < n and n <= 0) if (min_exp < n and n <= 0)
@ -1014,11 +1014,11 @@ inline char* format_buffer(char* buf, int len, int decimal_exponent,
// 0.[000]digits // 0.[000]digits
// len <= 2 + (-min_exp - 1) + max_digits10 // len <= 2 + (-min_exp - 1) + max_digits10
std::memmove(buf + (2 + -n), buf, static_cast<size_t>(k)); std::memmove(buf + (2 + static_cast<size_t>(-n)), buf, static_cast<size_t>(k));
buf[0] = '0'; buf[0] = '0';
buf[1] = '.'; buf[1] = '.';
std::memset(buf + 2, '0', static_cast<size_t>(-n)); std::memset(buf + 2, '0', static_cast<size_t>(-n));
return buf + (2 + (-n) + k); return buf + (2 + static_cast<size_t>(-n) + k);
} }
if (k == 1) if (k == 1)
@ -1033,9 +1033,9 @@ inline char* format_buffer(char* buf, int len, int decimal_exponent,
// d.igitsE+123 // d.igitsE+123
// len <= max_digits10 + 1 + 5 // len <= max_digits10 + 1 + 5
std::memmove(buf + 2, buf + 1, static_cast<size_t>(k - 1)); std::memmove(buf + 2, buf + 1, static_cast<size_t>(k) - 1);
buf[1] = '.'; buf[1] = '.';
buf += 1 + k; buf += 1 + static_cast<size_t>(k);
} }
*buf++ = 'e'; *buf++ = 'e';

View file

@ -14527,11 +14527,11 @@ inline char* format_buffer(char* buf, int len, int decimal_exponent,
// digits[000] // digits[000]
// len <= max_exp + 2 // len <= max_exp + 2
std::memset(buf + k, '0', static_cast<size_t>(n - k)); std::memset(buf + k, '0', static_cast<size_t>(n) - static_cast<size_t>(k));
// Make it look like a floating-point number (#362, #378) // Make it look like a floating-point number (#362, #378)
buf[n + 0] = '.'; buf[n + 0] = '.';
buf[n + 1] = '0'; buf[n + 1] = '0';
return buf + (n + 2); return buf + (static_cast<size_t>(n) + 2);
} }
if (0 < n and n <= max_exp) if (0 < n and n <= max_exp)
@ -14541,9 +14541,9 @@ inline char* format_buffer(char* buf, int len, int decimal_exponent,
assert(k > n); assert(k > n);
std::memmove(buf + (n + 1), buf + n, static_cast<size_t>(k - n)); std::memmove(buf + (static_cast<size_t>(n) + 1), buf + n, static_cast<size_t>(k) - static_cast<size_t>(n));
buf[n] = '.'; buf[n] = '.';
return buf + (k + 1); return buf + (static_cast<size_t>(k) + 1);
} }
if (min_exp < n and n <= 0) if (min_exp < n and n <= 0)
@ -14551,11 +14551,11 @@ inline char* format_buffer(char* buf, int len, int decimal_exponent,
// 0.[000]digits // 0.[000]digits
// len <= 2 + (-min_exp - 1) + max_digits10 // len <= 2 + (-min_exp - 1) + max_digits10
std::memmove(buf + (2 + -n), buf, static_cast<size_t>(k)); std::memmove(buf + (2 + static_cast<size_t>(-n)), buf, static_cast<size_t>(k));
buf[0] = '0'; buf[0] = '0';
buf[1] = '.'; buf[1] = '.';
std::memset(buf + 2, '0', static_cast<size_t>(-n)); std::memset(buf + 2, '0', static_cast<size_t>(-n));
return buf + (2 + (-n) + k); return buf + (2 + static_cast<size_t>(-n) + k);
} }
if (k == 1) if (k == 1)
@ -14570,9 +14570,9 @@ inline char* format_buffer(char* buf, int len, int decimal_exponent,
// d.igitsE+123 // d.igitsE+123
// len <= max_digits10 + 1 + 5 // len <= max_digits10 + 1 + 5
std::memmove(buf + 2, buf + 1, static_cast<size_t>(k - 1)); std::memmove(buf + 2, buf + 1, static_cast<size_t>(k) - 1);
buf[1] = '.'; buf[1] = '.';
buf += 1 + k; buf += 1 + static_cast<size_t>(k);
} }
*buf++ = 'e'; *buf++ = 'e';