Skip to content

Commit c118e42

Browse files
committed
Refactor stdout handling in Zig main function for improved output management
- Consolidated stdout buffer and writer initialization. - Replaced stdout.print with std.debug.print for usage message output. - Streamlined code by removing redundant stdout initialization.
1 parent eb6ff5b commit c118e42

File tree

4 files changed

+19
-29
lines changed

4 files changed

+19
-29
lines changed

compiled_starters/zig/src/main.zig

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11
const std = @import("std");
2+
var stdout_buffer: [1024]u8 = undefined;
3+
var stdout_writer = std.fs.File.stdout().writer(&stdout_buffer);
4+
const stdout = &stdout_writer.interface;
25

36
pub fn main() !void {
47
var gpa = std.heap.GeneralPurposeAllocator(.{}){};
@@ -8,14 +11,8 @@ pub fn main() !void {
811
const args = try std.process.argsAlloc(allocator);
912
defer std.process.argsFree(allocator, args);
1013

11-
var stdout_buffer: [1024]u8 = undefined;
12-
var stdout_writer = std.fs.File.stdout().writer(&stdout_buffer);
13-
const stdout = &stdout_writer.interface;
14-
1514
if (args.len < 3) {
16-
try stdout.print("Usage: {s} <database_file_path> <command>\n", .{args[0]});
17-
try stdout.flush();
18-
return;
15+
std.debug.print("Usage: {s} <database_file_path> <command>\n", .{args[0]});
1916
}
2017

2118
const database_file_path: []const u8 = args[1];

solutions/zig/01-dr6/code/src/main.zig

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11
const std = @import("std");
2+
var stdout_buffer: [1024]u8 = undefined;
3+
var stdout_writer = std.fs.File.stdout().writer(&stdout_buffer);
4+
const stdout = &stdout_writer.interface;
25

36
pub fn main() !void {
47
var gpa = std.heap.GeneralPurposeAllocator(.{}){};
@@ -8,14 +11,8 @@ pub fn main() !void {
811
const args = try std.process.argsAlloc(allocator);
912
defer std.process.argsFree(allocator, args);
1013

11-
var stdout_buffer: [1024]u8 = undefined;
12-
var stdout_writer = std.fs.File.stdout().writer(&stdout_buffer);
13-
const stdout = &stdout_writer.interface;
14-
1514
if (args.len < 3) {
16-
try stdout.print("Usage: {s} <database_file_path> <command>\n", .{args[0]});
17-
try stdout.flush();
18-
return;
15+
std.debug.print("Usage: {s} <database_file_path> <command>\n", .{args[0]});
1916
}
2017

2118
const database_file_path: []const u8 = args[1];

solutions/zig/01-dr6/diff/src/main.zig.diff

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,9 @@
1-
@@ -3,37 +3,33 @@
1+
@@ -1,36 +1,32 @@
2+
const std = @import("std");
3+
var stdout_buffer: [1024]u8 = undefined;
4+
var stdout_writer = std.fs.File.stdout().writer(&stdout_buffer);
5+
const stdout = &stdout_writer.interface;
6+
27
pub fn main() !void {
38
var gpa = std.heap.GeneralPurposeAllocator(.{}){};
49
defer _ = gpa.deinit();
@@ -7,14 +12,8 @@
712
const args = try std.process.argsAlloc(allocator);
813
defer std.process.argsFree(allocator, args);
914

10-
var stdout_buffer: [1024]u8 = undefined;
11-
var stdout_writer = std.fs.File.stdout().writer(&stdout_buffer);
12-
const stdout = &stdout_writer.interface;
13-
1415
if (args.len < 3) {
15-
try stdout.print("Usage: {s} <database_file_path> <command>\n", .{args[0]});
16-
try stdout.flush();
17-
return;
16+
std.debug.print("Usage: {s} <database_file_path> <command>\n", .{args[0]});
1817
}
1918

2019
const database_file_path: []const u8 = args[1];

starter_templates/zig/code/src/main.zig

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11
const std = @import("std");
2+
var stdout_buffer: [1024]u8 = undefined;
3+
var stdout_writer = std.fs.File.stdout().writer(&stdout_buffer);
4+
const stdout = &stdout_writer.interface;
25

36
pub fn main() !void {
47
var gpa = std.heap.GeneralPurposeAllocator(.{}){};
@@ -8,14 +11,8 @@ pub fn main() !void {
811
const args = try std.process.argsAlloc(allocator);
912
defer std.process.argsFree(allocator, args);
1013

11-
var stdout_buffer: [1024]u8 = undefined;
12-
var stdout_writer = std.fs.File.stdout().writer(&stdout_buffer);
13-
const stdout = &stdout_writer.interface;
14-
1514
if (args.len < 3) {
16-
try stdout.print("Usage: {s} <database_file_path> <command>\n", .{args[0]});
17-
try stdout.flush();
18-
return;
15+
std.debug.print("Usage: {s} <database_file_path> <command>\n", .{args[0]});
1916
}
2017

2118
const database_file_path: []const u8 = args[1];

0 commit comments

Comments
 (0)