From b9edd067444a0641e7a0ecbb47ef1279b22b8e43 Mon Sep 17 00:00:00 2001 From: Vincent Rischmann Date: Fri, 1 Jan 2021 21:48:29 +0100 Subject: implement reading a value into a one-element pointer --- sqlite.zig | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'sqlite.zig') diff --git a/sqlite.zig b/sqlite.zig index 125c489..32a5f97 100644 --- a/sqlite.zig +++ b/sqlite.zig @@ -529,7 +529,12 @@ pub fn Iterator(comptime Type: type) type { switch (type_info) { .Pointer => |ptr| { switch (ptr.size) { - .One => unreachable, + .One => { + ret = try allocator.create(ptr.child); + errdefer allocator.destroy(ret); + + ret.* = try self.readField(ptr.child, i, .{ .allocator = allocator }); + }, .Slice => switch (ptr.child) { u8 => ret = try self.readBytes(PointerType, allocator, i, .Text), else => @compileError("cannot read pointer of type " ++ @typeName(PointerType)), -- cgit v1.2.3