Skip to content

Commit 5c66aea

Browse files
committed
Fix writer/reader uses
1 parent 790c94a commit 5c66aea

File tree

2 files changed

+9
-5
lines changed

2 files changed

+9
-5
lines changed

src/Archive.zig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ pub fn parse(self: *Archive, macho_file: *MachO, path: []const u8, file_handle:
8585

8686
if (!mem.eql(u8, &hdr.ar_fmag, ARFMAG)) {
8787
macho_file.fatal("{s}: invalid header delimiter: expected '{s}', found '{s}'", .{
88-
path, std.fmt.fmtSliceEscapeLower(ARFMAG), std.fmt.fmtSliceEscapeLower(&hdr.ar_fmag),
88+
path, std.ascii.hexEscape(ARFMAG, .lower), std.ascii.hexEscape(&hdr.ar_fmag, .lower),
8989
});
9090
return error.ParseFailed;
9191
}

src/MachO.zig

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -543,7 +543,11 @@ fn inferCpuArchAndPlatformInObject(self: *MachO, obj: LinkObject, platforms: any
543543
const file = try std.fs.cwd().openFile(obj.path, .{});
544544
defer file.close();
545545

546-
const header = file.reader().readStruct(macho.mach_header_64) catch return;
546+
var buffer: [1024]u8 = undefined;
547+
var fr = file.reader(&buffer);
548+
const reader = &fr.interface;
549+
550+
const header = reader.takeStruct(macho.mach_header_64, .little) catch return;
547551
if (header.filetype != macho.MH_OBJECT) return;
548552

549553
const cpu_arch: std.Target.Cpu.Arch = switch (header.cputype) {
@@ -563,8 +567,7 @@ fn inferCpuArchAndPlatformInObject(self: *MachO, obj: LinkObject, platforms: any
563567

564568
const cmds_buffer = try gpa.alloc(u8, header.sizeofcmds);
565569
defer gpa.free(cmds_buffer);
566-
const amt = file.reader().readAll(cmds_buffer) catch return;
567-
if (amt != header.sizeofcmds) return;
570+
reader.readSliceAll(cmds_buffer) catch return;
568571

569572
var it = macho.LoadCommandIterator{
570573
.ncmds = header.ncmds,
@@ -3601,7 +3604,8 @@ fn renderWarningMessageToWriter(
36013604
const ttyconf = std.io.tty.detectConfig(std.fs.File.stderr());
36023605
const err_msg = eb.getErrorMessage(err_msg_index);
36033606
try ttyconf.setColor(stderr, color);
3604-
try stderr.writeByteNTimes(' ', indent);
3607+
const indentation = try stderr.writableSlice(indent);
3608+
@memset(indentation, ' ');
36053609
try stderr.writeAll(kind);
36063610
try stderr.writeAll(": ");
36073611
try ttyconf.setColor(stderr, .reset);

0 commit comments

Comments
 (0)