summaryrefslogtreecommitdiff
path: root/src/libzisp/io
diff options
context:
space:
mode:
authorTaylan Kammer <taylan.kammer@gmail.com>2025-03-19 08:49:52 +0100
committerTaylan Kammer <taylan.kammer@gmail.com>2025-03-19 08:49:52 +0100
commitd1e0c8f3a928247d9e2576fddd8143f5d6cf4646 (patch)
tree50d5fdc71c992433da4b6572f2c5a09eaca7737e /src/libzisp/io
parent7b67144bc3bda3b92b5ba599e5198d16c0cf4d1f (diff)
Code cleanup & use SMP Allocator.
Diffstat (limited to 'src/libzisp/io')
-rw-r--r--src/libzisp/io/unparser.zig10
1 files changed, 4 insertions, 6 deletions
diff --git a/src/libzisp/io/unparser.zig b/src/libzisp/io/unparser.zig
index dd48364..d65ffb0 100644
--- a/src/libzisp/io/unparser.zig
+++ b/src/libzisp/io/unparser.zig
@@ -5,7 +5,6 @@ const value = @import("../value.zig");
const ShortString = value.ShortString;
const OtherTag = value.OtherTag;
const Value = value.Value;
-const Hval = value.Hval;
pub fn unparse(w: anytype, v: Value) anyerror!void {
try if (value.double.check(v))
@@ -33,7 +32,7 @@ fn unparseFixnum(w: anytype, v: Value) !void {
fn unparseHeap(w: anytype, v: Value) !void {
const p, const t = value.ptr.unpack(v);
try switch (t) {
- .pair => unparsePair(w, p),
+ .pair => unparsePair(w, @ptrCast(p)),
else => @panic("not implemented"),
};
}
@@ -82,11 +81,10 @@ fn unparseMisc(w: anytype, v: Value) !void {
};
}
-fn unparsePair(w: anytype, p: [*]Hval) !void {
- const vs: *[2]Value = @ptrCast(p);
+fn unparsePair(w: anytype, p: *[2]Value) !void {
try w.writeByte('(');
- try unparse(w, vs[0]);
- var cdr = vs[1];
+ try unparse(w, p[0]);
+ var cdr = p[1];
while (value.pair.check(cdr)) : (cdr = value.pair.cdr(cdr)) {
try w.writeByte(' ');
try unparse(w, value.pair.car(cdr));