Fix parsing hexadecimal (lowercase e
,f
) in shaders
(cherry picked from commit 19e0a1ec9d
)
This commit is contained in:
parent
04fefed904
commit
29616f4a35
1 changed files with 4 additions and 4 deletions
|
@ -546,12 +546,12 @@ ShaderLanguage::Token ShaderLanguage::_get_token() {
|
||||||
if (hexa_found || str.length() != 1 || str[0] != '0')
|
if (hexa_found || str.length() != 1 || str[0] != '0')
|
||||||
return _make_token(TK_ERROR, "Invalid numeric constant");
|
return _make_token(TK_ERROR, "Invalid numeric constant");
|
||||||
hexa_found = true;
|
hexa_found = true;
|
||||||
} else if (GETCHAR(i) == 'e') {
|
} else if (GETCHAR(i) == 'e' && !hexa_found) {
|
||||||
if (hexa_found || exponent_found || float_suffix_found)
|
if (exponent_found || float_suffix_found)
|
||||||
return _make_token(TK_ERROR, "Invalid numeric constant");
|
return _make_token(TK_ERROR, "Invalid numeric constant");
|
||||||
exponent_found = true;
|
exponent_found = true;
|
||||||
} else if (GETCHAR(i) == 'f') {
|
} else if (GETCHAR(i) == 'f' && !hexa_found) {
|
||||||
if (hexa_found || exponent_found)
|
if (exponent_found)
|
||||||
return _make_token(TK_ERROR, "Invalid numeric constant");
|
return _make_token(TK_ERROR, "Invalid numeric constant");
|
||||||
float_suffix_found = true;
|
float_suffix_found = true;
|
||||||
} else if (_is_number(GETCHAR(i))) {
|
} else if (_is_number(GETCHAR(i))) {
|
||||||
|
|
Loading…
Reference in a new issue