aboutsummaryrefslogtreecommitdiff
path: root/src/proto/command_complete.zig
diff options
context:
space:
mode:
Diffstat (limited to 'src/proto/command_complete.zig')
-rw-r--r--src/proto/command_complete.zig7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/proto/command_complete.zig b/src/proto/command_complete.zig
index ed8e052..f9a9e26 100644
--- a/src/proto/command_complete.zig
+++ b/src/proto/command_complete.zig
@@ -30,6 +30,13 @@ pub fn deinit(self: *CommandComplete, a: std.mem.Allocator) void {
if (self.buf != null) a.free(self.buf.?);
}
+pub fn clone(self: CommandComplete, a: std.mem.Allocator) !CommandComplete {
+ var ba = ByteArrayList.init(a);
+ errdefer ba.deinit();
+ try self.write(a, ba.writer());
+ return try CommandComplete.read(a, ba.items);
+}
+
test "round trip" {
const allocator = std.testing.allocator;
var sm = CommandComplete{