aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJakub Konka <kubkon@jakubkonka.com>2023-03-17 17:54:47 +0100
committerJakub Konka <kubkon@jakubkonka.com>2023-03-18 09:32:29 +0100
commitee705e3ac71205142a4457acd2677f7be921d62b (patch)
tree8d956f5664e7550ef27822bc654de6e8eb80e110 /src
parent76afdd0586dc646bee1f20fd9ff23c044d70a211 (diff)
downloadzig-ee705e3ac71205142a4457acd2677f7be921d62b.tar.gz
zig-ee705e3ac71205142a4457acd2677f7be921d62b.zip
macho+zld: clean up opening and closing of file descriptors
Diffstat (limited to 'src')
-rw-r--r--src/link/MachO/zld.zig17
1 files changed, 9 insertions, 8 deletions
diff --git a/src/link/MachO/zld.zig b/src/link/MachO/zld.zig
index a7c7bc41b9..931352545e 100644
--- a/src/link/MachO/zld.zig
+++ b/src/link/MachO/zld.zig
@@ -3665,16 +3665,17 @@ pub fn linkWithZld(macho_file: *MachO, comp: *Compilation, prog_node: *std.Progr
} else {
const page_size = macho_file.page_size;
const sub_path = options.emit.?.sub_path;
- if (macho_file.base.file == null) {
- macho_file.base.file = try directory.handle.createFile(sub_path, .{
- .truncate = true,
- .read = true,
- .mode = link.determineMode(options.*),
- });
- }
+
+ const file = try directory.handle.createFile(sub_path, .{
+ .truncate = true,
+ .read = true,
+ .mode = link.determineMode(options.*),
+ });
+ defer file.close();
+
var zld = Zld{
.gpa = gpa,
- .file = macho_file.base.file.?,
+ .file = file,
.page_size = macho_file.page_size,
.options = options,
};