|
|
@@ -31,7 +31,7 @@ namespace json {
|
|
|
{ numeric_token_info::octal, "01234567" },
|
|
|
{ numeric_token_info::hexadecimal, "0123456789aAbBcCdDeEfF" }
|
|
|
};
|
|
|
- std::map<char, int_jt> values{
|
|
|
+ std::map<char, uint_jt> values{
|
|
|
{ '0', 0 }, { '1', 1 }, { '2', 2 }, { '3', 3 },
|
|
|
{ '4', 4 }, { '5', 5 }, { '6', 6 }, { '7', 7 },
|
|
|
{ '8', 8 }, { '9', 9 }, { 'a', 10 }, { 'A', 10 },
|
|
|
@@ -44,7 +44,7 @@ namespace json {
|
|
|
{ numeric_token_info::octal, UINT_JT_MAX / 8 },
|
|
|
{ numeric_token_info::hexadecimal, UINT_JT_MAX / 16 }
|
|
|
};
|
|
|
- std::map<numeric_token_info::parse_state, int_jt> last_digits{
|
|
|
+ std::map<numeric_token_info::parse_state, uint_jt> last_digits{
|
|
|
{ numeric_token_info::decimal, INT_JT_MAX % 10 },
|
|
|
{ numeric_token_info::octal, INT_JT_MAX % 8 },
|
|
|
{ numeric_token_info::hexadecimal, INT_JT_MAX % 16 }
|
|
|
@@ -88,7 +88,7 @@ namespace json {
|
|
|
uint_jt const last_digit = last_digits[base];
|
|
|
val = 0;
|
|
|
for (char c = *it; it != end; c = *++it) {
|
|
|
- int_jt digit = values[c];
|
|
|
+ uint_jt digit = values[c];
|
|
|
if (val > threshold ||
|
|
|
( val == threshold && ((it + 1) < end ||
|
|
|
digit > last_digit))) {
|