Update readHexNumber for consistency with other routines

This commit is contained in:
Rangi42
2026-04-29 12:31:00 +02:00
parent ca23210f18
commit f0161b41c8
+3 -3
View File
@@ -1206,17 +1206,17 @@ static uint32_t readHexNumber(char const *prefix) {
if (!isHexDigit(c)) { if (!isHexDigit(c)) {
break; break;
} }
c = parseHexDigit(c); int digit = parseHexDigit(c);
empty = false; empty = false;
prevWasSeparator = false; prevWasSeparator = false;
if (number > (UINT32_MAX - c) / 16) { if (number > (UINT32_MAX - digit) / 16) {
warning(WARNING_LARGE_CONSTANT, "Integer constant is too large"); warning(WARNING_LARGE_CONSTANT, "Integer constant is too large");
// Discard any additional digits // Discard any additional digits
skipChars([](int d) { return isHexDigit(d) || d == '_'; }); skipChars([](int d) { return isHexDigit(d) || d == '_'; });
return 0; return 0;
} }
number = number * 16 + c; number = number * 16 + digit;
} }
checkDigitsEnding(empty, prefix, prevWasSeparator, "integer"); checkDigitsEnding(empty, prefix, prevWasSeparator, "integer");