Set errno when out of range in strtoimax (#111)

This commit is contained in:
Alison Winters
2021-03-07 14:38:56 -08:00
committed by GitHub
parent f5da4efcaf
commit 8a6ac6dd63
5 changed files with 29 additions and 5 deletions

View File

@@ -443,7 +443,7 @@ bool ConsumeLiteral(const char *literal) {
char *e;
struct Value x;
x.t = kInt;
x.i = strtoimax(literal, &e, 0);
x.i = *literal == '-' ? strtoimax(literal, &e, 0) : strtoumax(literal, &e, 0);
if (!e || *e) {
x.t = kFloat;
x.f = strtod(literal, &e);