From 29c56a8aa74d1b1a19bece5ba5d738af1e3c9f6d Mon Sep 17 00:00:00 2001 From: jiacai2050 Date: Sat, 4 Mar 2023 10:47:25 +0800 Subject: [PATCH] fix package redeclaration when cache is not found --- src/Package.zig | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/Package.zig b/src/Package.zig index 2aa5e85294..ed93500980 100644 --- a/src/Package.zig +++ b/src/Package.zig @@ -432,6 +432,12 @@ fn fetchAndUnpack( const build_root = try global_cache_directory.join(gpa, &.{pkg_dir_sub_path}); errdefer gpa.free(build_root); + var pkg_dir = global_cache_directory.handle.openDir(pkg_dir_sub_path, .{}) catch |err| switch (err) { + error.FileNotFound => break :cached, + else => |e| return e, + }; + errdefer pkg_dir.close(); + try build_roots_source.writer().print(" pub const {s} = \"{}\";\n", .{ std.zig.fmtId(fqn), std.zig.fmtEscapes(build_root), }); @@ -444,12 +450,6 @@ fn fetchAndUnpack( return gop.value_ptr.*; } - var pkg_dir = global_cache_directory.handle.openDir(pkg_dir_sub_path, .{}) catch |err| switch (err) { - error.FileNotFound => break :cached, - else => |e| return e, - }; - errdefer pkg_dir.close(); - const ptr = try gpa.create(Package); errdefer gpa.destroy(ptr);