On Mon, 9 May 2022 12:30:19 GMT, Ichiroh Takiguchi <itakigu...@openjdk.org> 
wrote:

>> On JDK19 with Linux ja_JP.eucjp locale,
>> System.getenv() returns unexpected value if environment variable has 
>> Japanese EUC characters.
>> It seems this issue happens because of JEP 400.
>> Arguments for ProcessBuilder have same kind of issue.
>
> Ichiroh Takiguchi has updated the pull request with a new target base due to 
> a merge or a rebase. The pull request now contains seven commits:
> 
>  - Merge branch 'master' into 8285517
>  - 8285517: System.getenv() returns unexpected value if environment variable 
> has non ASCII character
>  - 8285517: System.getenv() returns unexpected value if environment variable 
> has non ASCII character
>  - 8285517: System.getenv() returns unexpected value if environment variable 
> has non ASCII character
>  - 8285517: System.getenv() returns unexpected value if environment variable 
> has non ASCII character
>  - 8285517: System.getenv() returns unexpected value if environment variable 
> has non ASCII character
>  - 8285517: System.getenv() returns unexpected value if environment variable 
> has non ASCII character

src/java.base/unix/classes/java/lang/ProcessEnvironment.java line 68:

> 66:     private static final Map<String,String> theUnmodifiableEnvironment;
> 67:     static final int MIN_NAME_LENGTH = 0;
> 68:     private static final Charset jnuCharset = StaticProperty.jnuCharset();

Since the Charset is cached in StaticProperty, I don't think its worthwhile to 
make a local copy of the same ref.
Just refer to `StaticProperty.jnuCharset()` where it is needed.  (Here and in 
ProcessImpl)

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

PR: https://git.openjdk.java.net/jdk/pull/8378

Reply via email to