On Mon, 19 Sep 2022 16:41:00 GMT, Alexey Ivanov <[email protected]> wrote:
>> ScientificWare has updated the pull request incrementally with one
>> additional commit since the last revision:
>>
>> Corrects typos and digit extraction.
>>
>> Corrects typos.
>> And applies a better digit extraction as suggested in main-line review
>> thread.
>
> src/java.desktop/share/classes/javax/swing/text/html/CSS.java line 1399:
>
>> 1397: final char b = digits.charAt(2);
>> 1398: final char a = digits.charAt(3);
>> 1399: digits = String.format("%1$s%1$s%2$s%2$s%3$s%3$s%4$s%4$s",
>> r, g, b, a);
>
> Does it make sense to combine these two cases into one?
>
> Suggestion:
>
> if (n == 3 || n == 4) {
> final char r = digits.charAt(0);
> final char g = digits.charAt(1);
> final char b = digits.charAt(2);
> final char a = n == 4 ? digits.charAt(3) : 'f';
> digits = String.format("%1$s%1$s%2$s%2$s%3$s%3$s%4$s%4$s", r, g,
> b, a);
>
>
> The only difference between these two case is in `a` which is hard-coded as
> `ff` in the format string for `n == 3`.
With this change, the code is more concise but we double the number of tests ?
-------------
PR: https://git.openjdk.org/jdk/pull/10317