authorgravatar for levinqua@noreply.codeberg.orglevinqua <levinqua@noreply.codeberg.org> 2026-08-15 17:05:31+02:00
committergravatar for squeek502@hotmail.comRyan Liptak <squeek502@hotmail.com> 2026-08-18 05:03:00+02:00
logf73d7aa1821d6c7d71b89157afc045e04b10e96e
tree9df374fa8e33da5904b6816f060df0450dd53ebc
parent7f489035614dd1c6408a7095143d33ab90fb6be3

tank/tapi/parse.zig: prefer ensureUnusedCapacity over ensureTotalCapacity

ensureUnusedCapacity should be preferred over ensureTotalCapacity. By using ensureTotalCapacity the parsing could fail the assumption that there is enough unused capacity if node.string_value would already have elements. However afaict both functions were only called with string_value = .empty. Therefore behavior should remain unchanged.

1 files changed, 2 insertions(+), 2 deletions(-)

src/link/tapi/parse.zig+2-2
......@@ -631,7 +631,7 @@ const Parser = struct {
631631 assert(raw[0] == '\'' and raw[raw.len - 1] == '\'');
632632
633633 const raw_no_quotes = raw[1 .. raw.len - 1];
634 try node.string_value.ensureTotalCapacity(self.allocator, raw_no_quotes.len);
634 try node.string_value.ensureUnusedCapacity(self.allocator, raw_no_quotes.len);
635635
636636 var state: enum {
637637 start,
......@@ -665,7 +665,7 @@ const Parser = struct {
665665 assert(raw[0] == '"' and raw[raw.len - 1] == '"');
666666
667667 const raw_no_quotes = raw[1 .. raw.len - 1];
668 try node.string_value.ensureTotalCapacity(self.allocator, raw_no_quotes.len);
668 try node.string_value.ensureUnusedCapacity(self.allocator, raw_no_quotes.len);
669669
670670 var state: enum {
671671 start,