Fix octal string escaped
This commit is contained in:
parent
e89aa11e86
commit
bfa1254eb7
|
@ -2052,8 +2052,25 @@ void Scanner::StringToken(char terminator, char mode)
|
||||||
switch (ch)
|
switch (ch)
|
||||||
{
|
{
|
||||||
case '0':
|
case '0':
|
||||||
mTokenChar = '\0';
|
case '1':
|
||||||
|
case '2':
|
||||||
|
case '3':
|
||||||
|
case '4':
|
||||||
|
case '5':
|
||||||
|
case '6':
|
||||||
|
case '7':
|
||||||
|
{
|
||||||
|
mTokenChar = ch - '0';
|
||||||
|
if (mLine[mOffset] >= '0' && mLine[mOffset] <= '7')
|
||||||
|
{
|
||||||
|
mTokenChar = mTokenChar * 8 + mLine[mOffset ++ ] - '0';
|
||||||
|
if (mLine[mOffset] >= '0' && mLine[mOffset] <= '7')
|
||||||
|
{
|
||||||
|
mTokenChar = mTokenChar * 8 + mLine[mOffset++] - '0';
|
||||||
|
}
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
case 'n':
|
case 'n':
|
||||||
mTokenChar = '\n';
|
mTokenChar = '\n';
|
||||||
break;
|
break;
|
||||||
|
@ -2146,8 +2163,25 @@ void Scanner::CharToken(char mode)
|
||||||
switch (ch)
|
switch (ch)
|
||||||
{
|
{
|
||||||
case '0':
|
case '0':
|
||||||
mTokenChar = '\0';
|
case '1':
|
||||||
|
case '2':
|
||||||
|
case '3':
|
||||||
|
case '4':
|
||||||
|
case '5':
|
||||||
|
case '6':
|
||||||
|
case '7':
|
||||||
|
{
|
||||||
|
mTokenChar = ch - '0';
|
||||||
|
if (mLine[mOffset] >= '0' && mLine[mOffset] <= '7')
|
||||||
|
{
|
||||||
|
mTokenChar = mTokenChar * 8 + mLine[mOffset++] - '0';
|
||||||
|
if (mLine[mOffset] >= '0' && mLine[mOffset] <= '7')
|
||||||
|
{
|
||||||
|
mTokenChar = mTokenChar * 8 + mLine[mOffset++] - '0';
|
||||||
|
}
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
case 'n':
|
case 'n':
|
||||||
mTokenChar = '\n';
|
mTokenChar = '\n';
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Reference in New Issue