summaryrefslogtreecommitdiff
path: root/src/libzisp/value/rune.zig
diff options
context:
space:
mode:
Diffstat (limited to 'src/libzisp/value/rune.zig')
-rw-r--r--src/libzisp/value/rune.zig13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/libzisp/value/rune.zig b/src/libzisp/value/rune.zig
index ab251b4..3a4dc61 100644
--- a/src/libzisp/value/rune.zig
+++ b/src/libzisp/value/rune.zig
@@ -2,6 +2,7 @@ const std = @import("std");
const value = @import("../value.zig");
+const ShortString = value.ShortString;
const Value = value.Value;
// Zig API
@@ -48,12 +49,16 @@ pub fn pack(s: []const u8) Value {
return v;
}
-pub fn unpack(v: Value) struct { [6]u8, u3 } {
- const s: [6]u8 = @bitCast(v.rune.name);
+pub fn unpack(v: Value) ShortString {
+ var s = ShortString{ .buffer = @bitCast(v.sstr.string) };
inline for (0..6) |i| {
- if (s[i] == 0) return .{ s, i };
+ if (s.buffer[i] == 0) {
+ s.len = i;
+ return s;
+ }
}
- return .{ s, 6 };
+ s.len = 6;
+ return s;
}
// Zisp API