Index: src/json-parser.h |
diff --git a/src/json-parser.h b/src/json-parser.h |
index bb743103b7bab558e53ec3f6fdfe6c2e18711b54..4cf52574b54655a9000651db6391f38bd9cf9450 100644 |
--- a/src/json-parser.h |
+++ b/src/json-parser.h |
@@ -314,7 +314,7 @@ Handle<Object> JsonParser<seq_one_byte>::ParseJsonObject() { |
Advance(); |
uint32_t index = 0; |
- if (c0_ >= '0' && c0_ <= '9') { |
+ if (IsDecimalDigit(c0_)) { |
// Maybe an array index, try to parse it. |
if (c0_ == '0') { |
// With a leading zero, the string has to be "0" only to be an index. |
@@ -325,7 +325,7 @@ Handle<Object> JsonParser<seq_one_byte>::ParseJsonObject() { |
if (index > 429496729U - ((d > 5) ? 1 : 0)) break; |
index = (index * 10) + d; |
Advance(); |
- } while (c0_ >= '0' && c0_ <= '9'); |
+ } while (IsDecimalDigit(c0_)); |
} |
if (c0_ == '"') { |
@@ -515,7 +515,7 @@ Handle<Object> JsonParser<seq_one_byte>::ParseJsonNumber() { |
Advance(); |
// Prefix zero is only allowed if it's the only digit before |
// a decimal point or exponent. |
- if ('0' <= c0_ && c0_ <= '9') return ReportUnexpectedCharacter(); |
+ if (IsDecimalDigit(c0_)) return ReportUnexpectedCharacter(); |
} else { |
int i = 0; |
int digits = 0; |
@@ -524,7 +524,7 @@ Handle<Object> JsonParser<seq_one_byte>::ParseJsonNumber() { |
i = i * 10 + c0_ - '0'; |
digits++; |
Advance(); |
- } while (c0_ >= '0' && c0_ <= '9'); |
+ } while (IsDecimalDigit(c0_)); |
if (c0_ != '.' && c0_ != 'e' && c0_ != 'E' && digits < 10) { |
SkipWhitespace(); |
return Handle<Smi>(Smi::FromInt((negative ? -i : i)), isolate()); |
@@ -532,18 +532,18 @@ Handle<Object> JsonParser<seq_one_byte>::ParseJsonNumber() { |
} |
if (c0_ == '.') { |
Advance(); |
- if (c0_ < '0' || c0_ > '9') return ReportUnexpectedCharacter(); |
+ if (!IsDecimalDigit(c0_)) return ReportUnexpectedCharacter(); |
do { |
Advance(); |
- } while (c0_ >= '0' && c0_ <= '9'); |
+ } while (IsDecimalDigit(c0_)); |
} |
if (AsciiAlphaToLower(c0_) == 'e') { |
Advance(); |
if (c0_ == '-' || c0_ == '+') Advance(); |
- if (c0_ < '0' || c0_ > '9') return ReportUnexpectedCharacter(); |
+ if (!IsDecimalDigit(c0_)) return ReportUnexpectedCharacter(); |
do { |
Advance(); |
- } while (c0_ >= '0' && c0_ <= '9'); |
+ } while (IsDecimalDigit(c0_)); |
} |
int length = position_ - beg_pos; |
double number; |