mirror of
https://github.com/Ed94/Odin.git
synced 2026-08-05 23:28:48 +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[:]
|
defer stderr = stderr_b[:]
|
||||||
|
|
||||||
buf: [1024]u8 = ---
|
buf: [1024]u8 = ---
|
||||||
n: int
|
|
||||||
|
|
||||||
stdout_done, stderr_done, has_data: bool
|
stdout_done, stderr_done, has_data: bool
|
||||||
for err == nil && (!stdout_done || !stderr_done) {
|
for err == nil && (!stdout_done || !stderr_done) {
|
||||||
|
n := 0
|
||||||
|
|
||||||
if !stdout_done {
|
if !stdout_done {
|
||||||
has_data, err = pipe_has_data(stdout_r)
|
has_data, err = pipe_has_data(stdout_r)
|
||||||
@@ -426,6 +426,7 @@ process_exec :: proc(
|
|||||||
}
|
}
|
||||||
|
|
||||||
if err == nil && !stderr_done {
|
if err == nil && !stderr_done {
|
||||||
|
n = 0
|
||||||
has_data, err = pipe_has_data(stderr_r)
|
has_data, err = pipe_has_data(stderr_r)
|
||||||
if has_data {
|
if has_data {
|
||||||
n, err = read(stderr_r, buf[:])
|
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, state.success, true)
|
||||||
testing.expect_value(t, err, nil)
|
testing.expect_value(t, err, nil)
|
||||||
testing.expect_value(t, string(stdout), "hellope\n")
|
testing.expect_value(t, string(stdout), "hellope\n")
|
||||||
|
testing.expect_value(t, string(stderr), "")
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user