| 149 | // Codepoint out of range |
| 150 | return kInvalidPt; |
| 151 | } |
| 152 | } |
| 153 | |
| 154 | static inline char32_t utf8Decode(const char* str, std::string::size_type& i, std::string::size_type len) { |
| 155 | OffsetPt res = utf8DecodeCheck(str, i, len); |
| 156 | if (res.offset < 0) { |
| 157 | i += 1; |
| 158 | return 0xFFFD; |
| 159 | } else { |
| 160 | i += res.offset; |
| 161 | return res.pt; |
| 162 | } |
| 163 | } |