Commit 3687fcb
committed
fix(exec)+test: 子进程输出显式 UTF-8 解码回归测试;argv 原样传参修复多词参数被字面引号损坏
- 回归测试:/bin/sh -c printf 八进制转义输出「你好」UTF-8 字节,断言
执行器以 UTF-8 解码正确(Java 源码 \344 须双写为 \\344,否则编译期被
八进制转义消费)
- 修复 toCommandLine:commons-exec addArgument 默认 handleQuoting=true
会把含空格参数包进字面双引号存入 argv,sh -c 收到后把整段脚本当成
单个命令名(exit=127);改 addArgument(arg, false) 原样传参,
openclaw message 等多词参数命令由此修复
- 解码路径本身已是显式 UTF-8(new String(toByteArray(), UTF_8)),无需改动1 parent 53c25da commit 3687fcb
2 files changed
Lines changed: 52 additions & 1 deletion
File tree
- src
- main/java/io/github/easy4j/openclaw/cli
- test/java/io/github/easy4j/openclaw/cli
Lines changed: 4 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
155 | 155 | | |
156 | 156 | | |
157 | 157 | | |
158 | | - | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
159 | 162 | | |
160 | 163 | | |
161 | 164 | | |
| |||
Lines changed: 48 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
0 commit comments