| 534 | }; |
| 535 | |
| 536 | static inline uint32_t |
| 537 | decode(uint32_t* state, uint32_t* codep, uint8_t byte) { |
| 538 | uint32_t type = utf8d[byte]; |
| 539 | |
| 540 | *codep = (*state != UTF8_ACCEPT) ? |
| 541 | (byte & 0x3fu) | (*codep << 6) : |
| 542 | (0xff >> type) & (byte); |
| 543 | |
| 544 | *state = utf8d[256 + *state + type]; |
| 545 | return *state; |
| 546 | } |
| 547 | |
| 548 | /* Character encoding */ |
| 549 |