aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Dylan Conway <dylan.conway567@gmail.com> 2022-12-13 11:37:50 -0800
committerGravatar Dylan Conway <dylan.conway567@gmail.com> 2022-12-13 11:37:50 -0800
commit3236a99b2da3e023dbc153dccc388340c312aa81 (patch)
tree8409734cdcb53c1f12091d7324689d797265d212
parent18d4cfd4f21a38009d48315f585e8c2006772710 (diff)
downloadbun-3236a99b2da3e023dbc153dccc388340c312aa81.tar.gz
bun-3236a99b2da3e023dbc153dccc388340c312aa81.tar.zst
bun-3236a99b2da3e023dbc153dccc388340c312aa81.zip
missing id when over 8 packages
-rw-r--r--src/install/lockfile.zig10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/install/lockfile.zig b/src/install/lockfile.zig
index 5948ef2c8..710cec8d2 100644
--- a/src/install/lockfile.zig
+++ b/src/install/lockfile.zig
@@ -1558,8 +1558,9 @@ pub fn getOrPutID(this: *Lockfile, id: PackageID, name_hash: PackageNameHash) !v
for (ids[2..7]) |_, i| {
ids[i + 2] = invalid_package_id - 1;
}
- ids[7] = invalid_package_id;
+
// stage1 compiler doesn't like this
+ ids[7] = invalid_package_id;
var ids_sentinel = ids.ptr[0 .. ids.len - 1 :invalid_package_id];
index.* = .{
.PackageIDMultiple = ids_sentinel,
@@ -1576,13 +1577,16 @@ pub fn getOrPutID(this: *Lockfile, id: PackageID, name_hash: PackageNameHash) !v
var new_ids = try this.allocator.alloc(PackageID, ids.len + 8);
defer this.allocator.free(ids);
- std.mem.set(PackageID, new_ids, invalid_package_id - 1);
for (ids) |id2, i| {
new_ids[i] = id2;
}
- new_ids[new_ids.len - 1] = invalid_package_id;
+ new_ids[ids.len - 1] = id;
+ for (new_ids[ids.len .. new_ids.len - 2]) |_, i| {
+ new_ids[i + ids.len] = invalid_package_id - 1;
+ }
// stage1 compiler doesn't like this
+ new_ids[new_ids.len - 1] = invalid_package_id;
var new_ids_sentinel = new_ids.ptr[0 .. new_ids.len - 1 :invalid_package_id];
index.* = .{
.PackageIDMultiple = new_ids_sentinel,