Merge pull request #4346 from flysand7/os2-fix-process-exec

Don't append to buffer if nothing was read
This commit is contained in:
Laytan
2024-10-05 11:32:14 +02:00
committed by GitHub
2 changed files with 4 additions and 2 deletions

View File

@@ -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[:])

View File

@@ -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), "")
}