diff options
author | Matthias Andreas Benkard <code@mail.matthias.benkard.de> | 2025-08-16 13:02:47 +0200 |
---|---|---|
committer | Matthias Andreas Benkard <code@mail.matthias.benkard.de> | 2025-08-16 13:02:47 +0200 |
commit | 3e53d3ae08d41b21d9edcd0f9bbd9e0edbdfb138 (patch) | |
tree | 613aafbc1bfd848d739a60452199fbed28e877b6 /src/eval.zig | |
parent | 9edc1338b92d1ead4c5f2fad8c0516037963f7b6 (diff) |
Unify input handling.
Diffstat (limited to 'src/eval.zig')
-rw-r--r-- | src/eval.zig | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/eval.zig b/src/eval.zig index 3381302..1b9858e 100644 --- a/src/eval.zig +++ b/src/eval.zig @@ -28,6 +28,8 @@ const OutputCapture = cmdTypes.OutputCapture; const StdoutOutputCapture = cmdTypes.StdoutOutputCapture; const OutputWriter = cmdTypes.OutputWriter; const InputSource = cmdTypes.InputSource; +const StdinInputReader = cmdTypes.StdinInputReader; +const InputReader = cmdTypes.InputReader; const CommandContext = cmdTypes.CommandContext; const STDOUT_BUFFER_SIZE: usize = 1024; @@ -44,7 +46,13 @@ pub fn executeCommandWithOutput(command: Command, allocator: Allocator, output_c else OutputWriter{ .stdout = &stdout_capture }; - const ctx = CommandContext.init(allocator, output_writer, input_source, executeCommandWithOutput); + var stdin_reader = StdinInputReader{}; + const input_reader = if (input_source) |source| + InputReader{ .source = source } + else + InputReader{ .stdin = &stdin_reader }; + + const ctx = CommandContext.init(allocator, output_writer, input_reader, executeCommandWithOutput); switch (command) { .Empty => return CommandStatus{ .Code = 0 }, |