| 385 | |
| 386 | |
| 387 | static int readdecesc(LexState *ls) { |
| 388 | int i; |
| 389 | int r = 0; /* result accumulator */ |
| 390 | for (i = 0; i < 3 && lisdigit(ls->current); i++) { /* read up to 3 digits */ |
| 391 | r = 10 * r + ls->current - '0'; |
| 392 | save_and_next(ls); |
| 393 | } |
| 394 | esccheck(ls, r <= UCHAR_MAX, "decimal escape too large"); |
| 395 | luaZ_buffremove(ls->buff, i); /* remove read digits from buffer */ |
| 396 | return r; |
| 397 | } |
| 398 | |
| 399 | |
| 400 | static void read_string(LexState *ls, int del, SemInfo *seminfo) { |
no test coverage detected