On Tue, 12 Dec 2023 10:47:48 GMT, Aleksei Voitylov <avoity...@openjdk.org> 
wrote:

>> Since JDK-8311906, if CompactStrings is not enabled, index is not considered 
>> when calling extractCodepoints from StringUTF16.toBytes(). Because of that 
>> the last elements of the source codepoints array are stripped from the 
>> resulting UTF16 string, which fires in other places (e.g. during RegEx 
>> processing).
>>  
>> The fix replaces len in extractCodepoints parameters with end that is index 
>> + len.
>
> Aleksei Voitylov has updated the pull request incrementally with one 
> additional commit since the last revision:
> 
>   review comments

test/jdk/java/lang/String/Chars.java line 50:

> 48:             testChars(cc, ccExp);
> 49:             testCharsSubrange(cc, ccExp);
> 50:             testIntsSubrange(ccExp);

Please also add the same call after line 74 to apply the test to the surrogates 
case.
(As suggested by @rgiulietti in https://github.com/openjdk/jdk/pull/17066)

test/jdk/java/lang/String/Chars.java line 126:

> 124:                 System.err.println("expected: " + 
> Arrays.toString(expected));
> 125:                 System.err.println("actual: " + Arrays.toString(actual));
> 126:                 throw new RuntimeException("testCharsSubrange failed!");

"testCharsSubrange" -> "testIntsSubrange"  as commented in the dependent 
PR#17066.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/17057#discussion_r1424466407
PR Review Comment: https://git.openjdk.org/jdk/pull/17057#discussion_r1424451093

Reply via email to