mirror of
https://github.com/odin-lang/Odin.git
synced 2026-06-03 01:07:56 +00:00
Merge pull request #4346 from flysand7/os2-fix-process-exec
Don't append to buffer if nothing was read
This commit is contained in:
@@ -405,10 +405,10 @@ process_exec :: proc(
|
||||
defer stderr = stderr_b[:]
|
||||
|
||||
buf: [1024]u8 = ---
|
||||
n: int
|
||||
|
||||
|
||||
stdout_done, stderr_done, has_data: bool
|
||||
for err == nil && (!stdout_done || !stderr_done) {
|
||||
n := 0
|
||||
|
||||
if !stdout_done {
|
||||
has_data, err = pipe_has_data(stdout_r)
|
||||
@@ -426,6 +426,7 @@ process_exec :: proc(
|
||||
}
|
||||
|
||||
if err == nil && !stderr_done {
|
||||
n = 0
|
||||
has_data, err = pipe_has_data(stderr_r)
|
||||
if has_data {
|
||||
n, err = read(stderr_r, buf[:])
|
||||
|
||||
@@ -21,4 +21,5 @@ test_process_exec :: proc(t: ^testing.T) {
|
||||
testing.expect_value(t, state.success, true)
|
||||
testing.expect_value(t, err, nil)
|
||||
testing.expect_value(t, string(stdout), "hellope\n")
|
||||
testing.expect_value(t, string(stderr), "")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user