commit 5fa260ba065f28632af133d07441d8a611fba15b (tree)
parent 759b0fe00a5c58d498f758dcafe1abb20f6c40b6
Author: mlugg <mlugg@mlugg.co.uk>
Date: Tue, 19 Sep 2023 22:44:31 +0100
InternPool: do not append sentinel value twice when initializing aggregate of u8
Diffstat:
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/InternPool.zig b/src/InternPool.zig
@@ -5075,8 +5075,8 @@ pub fn get(ip: *InternPool, gpa: Allocator, key: Key) Allocator.Error!Index {
try ip.string_bytes.ensureUnusedCapacity(gpa, @as(usize, @intCast(len_including_sentinel + 1)));
try ip.extra.ensureUnusedCapacity(gpa, @typeInfo(Bytes).Struct.fields.len);
switch (aggregate.storage) {
- .bytes => |bytes| ip.string_bytes.appendSliceAssumeCapacity(bytes),
- .elems => |elems| for (elems) |elem| switch (ip.indexToKey(elem)) {
+ .bytes => |bytes| ip.string_bytes.appendSliceAssumeCapacity(bytes[0..@intCast(len)]),
+ .elems => |elems| for (elems[0..@intCast(len)]) |elem| switch (ip.indexToKey(elem)) {
.undef => {
ip.string_bytes.shrinkRetainingCapacity(string_bytes_index);
break :bytes;