zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

commit e9bca9de3cbe6dbf166b931c06af6134476c9f50 (tree)
parent 49e68bdcf34d9c9a61c0dc8e55f487d51b6b8188
Author: Tadeo Kondrak <me@tadeo.ca>
Date:   Wed,  7 Oct 2020 11:43:23 -0600

std.fmt.comptimePrint: Properly null-terminate result and add test

Diffstat:
Mlib/std/fmt.zig | 3+++
1 file changed, 3 insertions(+), 0 deletions(-)

diff --git a/lib/std/fmt.zig b/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})); }