From 34000cccbf6101fdda062f65baee774a3d173743 Mon Sep 17 00:00:00 2001 From: CJ van den Berg Date: Tue, 18 Mar 2025 21:41:19 +0100 Subject: [PATCH] fix: remove arbitrary limit to command buffer size --- src/command.zig | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/command.zig b/src/command.zig index b3b0bf6..26a4dcc 100644 --- a/src/command.zig +++ b/src/command.zig @@ -13,10 +13,14 @@ pub const Context = struct { args: tp.message = .{}, pub fn fmt(value: anytype) Context { - return .{ .args = tp.message.fmtbuf(&context_buffer, value) catch @panic("command.Context.fmt failed") }; + context_buffer.clearRetainingCapacity(); + cbor.writeValue(context_buffer.writer(), value) catch @panic("command.Context.fmt failed"); + return .{ .args = .{ .buf = context_buffer.items } }; } }; -threadlocal var context_buffer: [tp.max_message_size]u8 = undefined; + +const context_buffer_allocator = std.heap.c_allocator; +threadlocal var context_buffer: std.ArrayList(u8) = std.ArrayList(u8).init(context_buffer_allocator); pub const fmt = Context.fmt; const Vtable = struct {