libjson: handle unicode escapes

This commit is contained in:
BurnZeZ 2013-10-27 15:52:35 -04:00
parent 2dc7e311f4
commit b1bc8b5c2b

View file

@ -52,6 +52,8 @@ lex(Lex *l)
{
Rune r;
char *t;
int i;
char c;
for(;;){
r = peekch(l);
@ -117,6 +119,19 @@ lex(Lex *l)
case 'r':
r = '\r';
break;
case 'u':
r = 0;
for(i = 0; i < 4; i++){
if(!isxdigit(peekch(l)))
break;
c = getch(l);
r *= 16;
if(c > '0' && c < '9') r += c - '0';
else if(c > 'a' && c < 'f') r += c - 'a' + 10;
else if(c > 'A' && c < 'F') r += c - 'A' + 10;
}
break;
case 't':
r = '\t';
break;