diff options
| author | Lucas Faria Mendes <lucas.oliveira1676@etec.sp.gov.br> | 2025-12-05 08:46:32 +0000 |
|---|---|---|
| committer | Lucas Faria Mendes <lucas.oliveira1676@etec.sp.gov.br> | 2025-12-05 08:46:32 +0000 |
| commit | 8a2b0d1ccca3a5d0f50b4db1b84687000dc74882 (patch) | |
| tree | 91ff883308422aa65900374bd23e3347406a804b /src/main.zig | |
| parent | b92ef57d9cfb3b8b51848d3a2940b0b2251c0529 (diff) | |
| download | shell-zig-8a2b0d1ccca3a5d0f50b4db1b84687000dc74882.tar.gz shell-zig-8a2b0d1ccca3a5d0f50b4db1b84687000dc74882.zip | |
codecrafters submit [skip ci]
Diffstat (limited to 'src/main.zig')
| -rw-r--r-- | src/main.zig | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/main.zig b/src/main.zig index 69b40e0..d373826 100644 --- a/src/main.zig +++ b/src/main.zig @@ -361,6 +361,8 @@ pub fn main() !void { history.deinit(allocator); } + var last_written_index: usize = 0; + const stdout = std.fs.File.stdout(); while (true) { @@ -406,7 +408,7 @@ pub fn main() !void { if (segments.items.len == 1) { const parsed = parser.parseCommand(cmd); - const result = try shell.executeCommand(allocator, stdout_iface, parsed.name, parsed.args, parsed.output_redirect, parsed.error_redirect, parsed.append_output, parsed.append_error, &history); + const result = try shell.executeCommand(allocator, stdout_iface, parsed.name, parsed.args, parsed.output_redirect, parsed.error_redirect, parsed.append_output, parsed.append_error, &history, &last_written_index); if (result == .exit_shell) break; } else { const result = try shell.executePipeline(allocator, stdout_iface, segments.items); @@ -415,7 +417,7 @@ pub fn main() !void { } else { const parsed = parser.parseCommand(cmd); - const result = try shell.executeCommand(allocator, stdout_iface, parsed.name, parsed.args, parsed.output_redirect, parsed.error_redirect, parsed.append_output, parsed.append_error, &history); + const result = try shell.executeCommand(allocator, stdout_iface, parsed.name, parsed.args, parsed.output_redirect, parsed.error_redirect, parsed.append_output, parsed.append_error, &history, &last_written_index); if (result == .exit_shell) break; } |