Skip to content

Commit 2c99bad

Browse files
author
Ichiroh Takiguchi
committed
8261920: [AIX] jshell command throws java.io.IOError on non English locales
Reviewed-by: stuefe
1 parent 8c07063 commit 2c99bad

File tree

2 files changed

+8
-0
lines changed

2 files changed

+8
-0
lines changed

src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/ExecHelper.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
import java.io.InputStream;
1515
import java.io.InterruptedIOException;
1616
import java.io.OutputStream;
17+
import java.util.Map;
1718
import java.util.Objects;
1819

1920
/**
@@ -29,6 +30,12 @@ public static String exec(boolean redirectInput, final String... cmd) throws IOE
2930
try {
3031
Log.trace("Running: ", cmd);
3132
ProcessBuilder pb = new ProcessBuilder(cmd);
33+
if (OSUtils.IS_AIX) {
34+
Map<String,String> env = pb.environment();
35+
env.put("PATH", "/opt/freeware/bin:" + env.get("PATH"));
36+
env.put("LANG", "C");
37+
env.put("LC_ALL", "C");
38+
}
3239
if (redirectInput) {
3340
pb.redirectInput(ProcessBuilder.Redirect.INHERIT);
3441
}

src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/OSUtils.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ public class OSUtils {
3232
&& System.getenv("ConEmuPID") != null;
3333

3434
public static final boolean IS_OSX = System.getProperty("os.name").toLowerCase().contains("mac");
35+
public static final boolean IS_AIX = System.getProperty("os.name").equals("AIX");
3536

3637
public static String TTY_COMMAND;
3738
public static String STTY_COMMAND;

0 commit comments

Comments
 (0)