Quellcode durchsuchen

Fix decoding of "\uDBFF\uDFFF" surrogate pair.

pull/150/merge
David Hull vor 6 Jahren
committed von Paul J. Davis
Ursprung
Commit
5c29452a1e
2 geänderte Dateien mit 5 neuen und 1 gelöschten Zeilen
  1. +1
    -1
      c_src/utf8.c
  2. +4
    -0
      test/jiffy_04_string_tests.erl

+ 1
- 1
c_src/utf8.c Datei anzeigen

@ -207,7 +207,7 @@ unicode_to_utf8(int c, unsigned char* buf)
} else { } else {
return -1; return -1;
} }
} else if(c < 0x10FFFF) {
} else if(c <= 0x10FFFF) {
buf[0] = (unsigned char) 0xF0 + (c >> 18); buf[0] = (unsigned char) 0xF0 + (c >> 18);
buf[1] = (unsigned char) 0x80 + ((c >> 12) & 0x3F); buf[1] = (unsigned char) 0x80 + ((c >> 12) & 0x3F);
buf[2] = (unsigned char) 0x80 + ((c >> 6) & 0x3F); buf[2] = (unsigned char) 0x80 + ((c >> 6) & 0x3F);

+ 4
- 0
test/jiffy_04_string_tests.erl Datei anzeigen

@ -108,6 +108,10 @@ cases(uescaped) ->
{ {
<<"\"\\uD83D\\uDE0A\"">>, <<"\"\\uD83D\\uDE0A\"">>,
<<240, 159, 152, 138>> <<240, 159, 152, 138>>
},
{
<<"\"\\uDBFF\\uDFFF\"">>,
<<244, 143, 191, 191>>
} }
]; ];

Laden…
Abbrechen
Speichern