@@ -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