diff options
| -rw-r--r-- | xs_encdec.h | 7 | ||||
| -rw-r--r-- | xs_json.h | 1 |
2 files changed, 7 insertions, 1 deletions
diff --git a/xs_encdec.h b/xs_encdec.h index e336218..1ca9346 100644 --- a/xs_encdec.h +++ b/xs_encdec.h | |||
| @@ -171,6 +171,13 @@ d_char *xs_utf8_enc(d_char *str, unsigned int cpoint) | |||
| 171 | tmp[n++] = 0x80 | ((cpoint >> 6) & 0x3f); | 171 | tmp[n++] = 0x80 | ((cpoint >> 6) & 0x3f); |
| 172 | tmp[n++] = 0x80 | (cpoint & 0x3f); | 172 | tmp[n++] = 0x80 | (cpoint & 0x3f); |
| 173 | } | 173 | } |
| 174 | else | ||
| 175 | if (cpoint < 0x200000) { | ||
| 176 | tmp[n++] = 0xf0 | (cpoint >> 18); | ||
| 177 | tmp[n++] = 0x80 | ((cpoint >> 12) & 0x3f); | ||
| 178 | tmp[n++] = 0x80 | ((cpoint >> 6) & 0x3f); | ||
| 179 | tmp[n++] = 0x80 | (cpoint & 0x3f); | ||
| 180 | } | ||
| 174 | 181 | ||
| 175 | return xs_append_m(str, (char *)tmp, n); | 182 | return xs_append_m(str, (char *)tmp, n); |
| 176 | } | 183 | } |
| @@ -244,7 +244,6 @@ d_char *_xs_json_loads_lexer(const char **json, js_type *t) | |||
| 244 | s += 3; | 244 | s += 3; |
| 245 | tmp[4] = '\0'; | 245 | tmp[4] = '\0'; |
| 246 | 246 | ||
| 247 | xs_debug(); | ||
| 248 | sscanf(tmp, "%04x", &i); | 247 | sscanf(tmp, "%04x", &i); |
| 249 | 248 | ||
| 250 | if (i >= 0xd800 && i <= 0xdfff) { | 249 | if (i >= 0xd800 && i <= 0xdfff) { |