From be43e2d010b65e0fb16f96cde3161d38fe535c31 Mon Sep 17 00:00:00 2001 From: Manlio Perillo Date: Sat, 6 May 2023 11:50:42 +0200 Subject: build: make `Exercise.hint` optional Use an optional type, instead of an empty string, since it is more idiomatic. --- build.zig | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) (limited to 'build.zig') diff --git a/build.zig b/build.zig index a880450..3ea34ab 100644 --- a/build.zig +++ b/build.zig @@ -25,7 +25,7 @@ pub const Exercise = struct { output: []const u8, /// This is an optional hint to give if the program does not succeed. - hint: []const u8 = "", + hint: ?[]const u8 = null, /// By default, we verify output against stderr. /// Set this to true to check stdout instead. @@ -254,22 +254,16 @@ const ZiglingStep = struct { } const exe_path = self.compile(prog_node) catch { - if (self.exercise.hint.len > 0) { - print("\n{s}HINT: {s}{s}", .{ - bold_text, self.exercise.hint, reset_text, - }); - } + if (self.exercise.hint) |hint| + print("\n{s}HINT: {s}{s}", .{ bold_text, hint, reset_text }); self.help(); std.os.exit(1); }; self.run(exe_path, prog_node) catch { - if (self.exercise.hint.len > 0) { - print("\n{s}HINT: {s}{s}", .{ - bold_text, self.exercise.hint, reset_text, - }); - } + if (self.exercise.hint) |hint| + print("\n{s}HINT: {s}{s}", .{ bold_text, hint, reset_text }); self.help(); std.os.exit(1); -- cgit v1.2.3