RFR: 7065228: To interpret case-insensitive string locale independently
Daniel Fuchs
dfuchs at openjdk.org
Tue May 16 13:35:49 UTC 2023
On Tue, 16 May 2023 10:38:52 GMT, Darragh Clarke <duke at openjdk.org> wrote:
> Updated instances of `toLowerCase` and `toUpperCase` in several net and io files to specify `Locale.ROOT` to ensure that case conversion issues don't occur,
>
> I didn't add any new tests but ran tier 1-3 with no issues
Looks generally like a good improvement. In those places `toLowerCase` is called on strings (or substrings) that are expected to be ASCII, so using Locale.ROOT looks appropriate.
Would be good to get @Michael-Mc-Mahon validate these changes too.
src/java.base/share/classes/java/io/StreamTokenizer.java line 632:
> 630: sval = String.copyValueOf(buf, 0, i);
> 631: if (forceLower)
> 632: sval = sval.toLowerCase(Locale.ROOT);
This one gave me pause. AFAICS it's probably OK - but it might warant a CSR and an update of the specification to explicitly state how the lower case conversion is performed (update the `lowerCaseMode` method spec). Could we handle that in a separate PR?
-------------
PR Review: https://git.openjdk.org/jdk/pull/14006#pullrequestreview-1428569684
PR Review Comment: https://git.openjdk.org/jdk/pull/14006#discussion_r1195156280
More information about the core-libs-dev
mailing list