From 4e88891235664917a2db44b84c0bbeeb13dd71ad Mon Sep 17 00:00:00 2001 From: Taylan Kammer Date: Wed, 19 Feb 2025 23:29:26 +0100 Subject: update --- src/libzisp/value/sstr.zig | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src/libzisp/value/sstr.zig') diff --git a/src/libzisp/value/sstr.zig b/src/libzisp/value/sstr.zig index 896b8d7..2be2647 100644 --- a/src/libzisp/value/sstr.zig +++ b/src/libzisp/value/sstr.zig @@ -31,7 +31,7 @@ pub fn isValidSstr(s: []const u8) bool { fn assertValidSstr(s: []const u8) void { if (!isValidSstr(s)) { - std.debug.print("invalid sstr: {s}", .{s}); + std.debug.print("invalid sstr: {s}\n", .{s}); @panic("invalid sstr"); } } @@ -40,6 +40,8 @@ fn assertValidSstr(s: []const u8) void { // shifting and bit masking, but memcpy always wins easily according to our // micro-benchmarks, under both ReleaseSafe and ReleaseFast. +// Note: rune.zig uses equivalent code; probably good to keep in sync. + pub fn pack(s: []const u8) Value { assertValidSstr(s); var v = Value{ .sstr = .{ .string = 0 } }; @@ -49,6 +51,7 @@ pub fn pack(s: []const u8) Value { } pub fn unpack(v: Value) struct { [6]u8, u3 } { + assert(v); const s: [6]u8 = @bitCast(v.sstr.string); inline for (0..6) |i| { if (s[i] == 0) return .{ s, i }; -- cgit v1.2.3