diff options
Diffstat (limited to 'src/proto/command_complete.zig')
-rw-r--r-- | src/proto/command_complete.zig | 7 |
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{ |