Repository navigation
Pass streamCharset to the stdout and stderr pumpers - #432
Merged
Merged
Conversation
executeCommandLineAsCallable accepted a Charset since 3.3.x but never handed it to StreamPumper, so process output was always decoded with the JVM default charset. The synchronous executeCommandLine overload with a charset delegates here, so it was dead in both. Fixes #302
elharo
approved these changes
Sep 11, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
executeCommandLineAsCallablehas taken aCharsetsince 3.3.x but never passed it to the twoStreamPumperinstances, so process output was always decoded with the JVM default charset. The synchronousexecuteCommandLineoverload with a charset delegates here, so the parameter was dead in both. This wires it through;StreamPumperalready had the constructor.The test runs
printfthrough the shell to emit the UTF-8 bytes of "café" and decodes them once as UTF-8 and once as ISO-8859-1, so it holds whatever the platform default is. It is Unix-only like the neighbouring large-stdout test.Fixes #302. PR #60 was closed by the JIRA import, not by a fix.
Verified:
mvn -B verifyon JDK 17 -> Tests run: 792, Failures: 0, Errors: 0; the new test fails on master withexpected: <café> but was: <café>.This change was created with AI assistance.