Commit e9bca9de3c

Tadeo Kondrak <me@tadeo.ca>
2020-10-07 19:43:23
std.fmt.comptimePrint: Properly null-terminate result and add test
1 parent 49e68bd
Changed files (1)
lib
lib/std/fmt.zig
@@ -1184,10 +1184,13 @@ fn bufPrintIntToSlice(buf: []u8, value: anytype, base: u8, uppercase: bool, opti
 pub fn comptimePrint(comptime fmt: []const u8, args: anytype) *const [count(fmt, args):0]u8 {
     comptime var buf: [count(fmt, args):0]u8 = undefined;
     _ = bufPrint(&buf, fmt, args) catch unreachable;
+    buf[buf.len] = 0;
     return &buf;
 }
 
 test "comptimePrint" {
+    @setEvalBranchQuota(2000);
+    std.testing.expectEqual(*const [3:0]u8, @TypeOf(comptime comptimePrint("{}", .{100})));
     std.testing.expectEqualSlices(u8, "100", comptime comptimePrint("{}", .{100}));
 }