… | |
… | |
280 | (int)((uch - 0x10000) % 0x400 + 0xDC00)); |
280 | (int)((uch - 0x10000) % 0x400 + 0xDC00)); |
281 | enc->cur += 12; |
281 | enc->cur += 12; |
282 | } |
282 | } |
283 | else |
283 | else |
284 | { |
284 | { |
285 | static char hexdigit [16] = "0123456789abcdef"; |
|
|
286 | need (enc, len += 5); |
285 | need (enc, len += 5); |
287 | *enc->cur++ = '\\'; |
286 | *enc->cur++ = '\\'; |
288 | *enc->cur++ = 'u'; |
287 | *enc->cur++ = 'u'; |
289 | *enc->cur++ = hexdigit [ uch >> 12 ]; |
288 | *enc->cur++ = PL_hexdigit [ uch >> 12 ]; |
290 | *enc->cur++ = hexdigit [(uch >> 8) & 15]; |
289 | *enc->cur++ = PL_hexdigit [(uch >> 8) & 15]; |
291 | *enc->cur++ = hexdigit [(uch >> 4) & 15]; |
290 | *enc->cur++ = PL_hexdigit [(uch >> 4) & 15]; |
292 | *enc->cur++ = hexdigit [(uch >> 0) & 15]; |
291 | *enc->cur++ = PL_hexdigit [(uch >> 0) & 15]; |
293 | } |
292 | } |
294 | |
293 | |
295 | str += clen; |
294 | str += clen; |
296 | } |
295 | } |
297 | else if (enc->json.flags & F_LATIN1) |
296 | else if (enc->json.flags & F_LATIN1) |