diff options
Diffstat (limited to 'example/subcommands.zig')
| -rw-r--r-- | example/subcommands.zig | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/example/subcommands.zig b/example/subcommands.zig index 8223f31..644e371 100644 --- a/example/subcommands.zig +++ b/example/subcommands.zig | |||
| @@ -41,8 +41,10 @@ pub fn main() !void { | |||
| 41 | // not fully consumed. It can then be reused to parse the arguments for subcommands. | 41 | // not fully consumed. It can then be reused to parse the arguments for subcommands. |
| 42 | .terminating_positional = 0, | 42 | .terminating_positional = 0, |
| 43 | }) catch |err| { | 43 | }) catch |err| { |
| 44 | diag.report(std.io.getStdErr().writer(), err) catch {}; | 44 | var buf: [1024]u8 = undefined; |
| 45 | return err; | 45 | var stderr = std.fs.File.stderr().writer(&buf); |
| 46 | try diag.report(&stderr.interface, err); | ||
| 47 | return stderr.interface.flush(); | ||
| 46 | }; | 48 | }; |
| 47 | defer res.deinit(); | 49 | defer res.deinit(); |
| 48 | 50 | ||
| @@ -77,8 +79,11 @@ fn mathMain(gpa: std.mem.Allocator, iter: *std.process.ArgIterator, main_args: M | |||
| 77 | .diagnostic = &diag, | 79 | .diagnostic = &diag, |
| 78 | .allocator = gpa, | 80 | .allocator = gpa, |
| 79 | }) catch |err| { | 81 | }) catch |err| { |
| 80 | diag.report(std.io.getStdErr().writer(), err) catch {}; | 82 | var buf: [1024]u8 = undefined; |
| 81 | return err; | 83 | var stderr = std.fs.File.stderr().writer(&buf); |
| 84 | try diag.report(&stderr.interface, err); | ||
| 85 | try stderr.interface.flush(); | ||
| 86 | return err; // propagate error | ||
| 82 | }; | 87 | }; |
| 83 | defer res.deinit(); | 88 | defer res.deinit(); |
| 84 | 89 | ||