diff options
| -rw-r--r-- | src/zisp.zig | 1 | ||||
| -rw-r--r-- | src/zisp/io/print.zig | 3 | ||||
| -rw-r--r-- | src/zisp/value.zig | 10 | ||||
| -rw-r--r-- | src/zisp/value/rune.zig | 9 | ||||
| -rw-r--r-- | src/zisp/value/sstr.zig | 1 |
5 files changed, 5 insertions, 19 deletions
diff --git a/src/zisp.zig b/src/zisp.zig index c31210a..693b7b4 100644 --- a/src/zisp.zig +++ b/src/zisp.zig @@ -6,7 +6,6 @@ pub const io = @import("zisp/io.zig"); pub const lib = @import("zisp/lib.zig"); pub const value = @import("zisp/value.zig"); -pub const ShortString = value.ShortString; pub const Value = value.Value; pub const Zptr = value.Zptr; diff --git a/src/zisp/io/print.zig b/src/zisp/io/print.zig index b1647cc..85d2b5c 100644 --- a/src/zisp/io/print.zig +++ b/src/zisp/io/print.zig @@ -41,9 +41,8 @@ pub fn fixnum(w: Writer, v: Value) !void { } pub fn rune(w: Writer, v: Value) !void { - const name = value.rune.unpack(v); try w.writeByte('#'); - try w.writeAll(name.slice()); + try w.writeAll(value.rune.unpack(&v)); } pub fn sstr(w: Writer, v: Value) !void { diff --git a/src/zisp/value.zig b/src/zisp/value.zig index eb4ee8b..3450bfd 100644 --- a/src/zisp/value.zig +++ b/src/zisp/value.zig @@ -169,16 +169,6 @@ const endian = builtin.target.cpu.arch.endian(); const max = std.math.maxInt; -/// Used when dealing with runes and short strings. -pub const ShortString = struct { - len: u8, - buf: [6]u8, - - pub fn slice(this: *const @This()) []const u8 { - return this.buf[0..this.len]; - } -}; - /// Used to find the length of a rune or short string. pub fn sstrLen(x: u64) u8 { const bytes: @Vector(8, u8) = @bitCast(x); diff --git a/src/zisp/value/rune.zig b/src/zisp/value/rune.zig index 32230c4..6ce1bc3 100644 --- a/src/zisp/value/rune.zig +++ b/src/zisp/value/rune.zig @@ -2,7 +2,6 @@ const std = @import("std"); const value = @import("../value.zig"); -const ShortString = value.ShortString; const Value = value.Value; // Zig API @@ -46,11 +45,11 @@ pub fn packForced(s: []const u8) Value { return .{ .rune = .{ .name = @bitCast(buf) } }; } -pub fn unpack(v: Value) ShortString { - assert(v); - const buf: [6]u8 = @bitCast(v.rune.name); +pub fn unpack(v: *const Value) []const u8 { + assert(v.*); + const buf = v.bytes(); const len = value.sstrLen(v.bits); - return .{ .buf = buf, .len = len }; + return buf[0..len]; } // Zisp API diff --git a/src/zisp/value/sstr.zig b/src/zisp/value/sstr.zig index 8435800..2c4db4b 100644 --- a/src/zisp/value/sstr.zig +++ b/src/zisp/value/sstr.zig @@ -2,7 +2,6 @@ const std = @import("std"); const value = @import("../value.zig"); -const ShortString = value.ShortString; const Value = value.Value; // Zig API |
