zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

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:
Msrc/InternPool.zig | 4++--
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;