- let the CSV parser for the string table handle hex escapes.

This commit is contained in:
Christoph Oelckers 2021-05-17 12:42:45 +02:00
parent 668f8f2cf6
commit 0b5b919352

View file

@ -513,8 +513,30 @@ size_t FStringTable::ProcessEscapes (char *iptr)
c = '\r'; c = '\r';
else if (c == 't') else if (c == 't')
c = '\t'; c = '\t';
else if (c == 'x')
{
c = 0;
for (int i = 0; i < 2; i++)
{
char cc = *iptr++;
if (cc >= '0' && cc <= '9')
c = (c << 4) + cc - '0';
else if (cc >= 'a' && cc <= 'f')
c = (c << 4) + 10 + cc - 'a';
else if (cc >= 'A' && cc <= 'F')
c = (c << 4) + 10 + cc - 'A';
else
{
iptr--;
break;
}
}
if (c == 0) continue;
}
else if (c == '\n') else if (c == '\n')
continue; continue;
} }
*optr++ = c; *optr++ = c;
} }