From c00a7cd57be154b5a770a397319c8c8ad35c98b6 Mon Sep 17 00:00:00 2001 From: Martin Ashby Date: Thu, 28 Sep 2023 20:46:10 +0100 Subject: WIP --- src/proto/row_description.zig | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/proto/row_description.zig') diff --git a/src/proto/row_description.zig b/src/proto/row_description.zig index ff17716..50e4cb0 100644 --- a/src/proto/row_description.zig +++ b/src/proto/row_description.zig @@ -74,6 +74,14 @@ pub fn write(self: RowDescription, a: std.mem.Allocator, stream_writer: anytype) try stream_writer.writeAll(al.items); } +// Caller owns the result. +pub fn clone(self: RowDescription, a: std.mem.Allocator) !RowDescription { + var ba = ByteArrayList.init(a); + errdefer ba.deinit(); + try self.write(a, ba.writer()); + return try RowDescription.read(a, ba.items); +} + pub fn deinit(self: *RowDescription, a: std.mem.Allocator) void { a.free(self.fields); if (self.buf != null) a.free(self.buf.?); -- cgit v1.2.3-ZIG