diff --git a/src/link/MachO.zig b/src/link/MachO.zig index 8687e44ec5..ea07bed27b 100644 --- a/src/link/MachO.zig +++ b/src/link/MachO.zig @@ -1674,7 +1674,7 @@ fn allocateTextBlock(self: *MachO, text_block: *TextBlock, new_block_size: u64, pub fn makeStaticString(comptime bytes: []const u8) [16]u8 { var buf = [_]u8{0} ** 16; if (bytes.len > buf.len) @compileError("string too long; max 16 bytes"); - mem.copy(u8, buf[0..], bytes); + mem.copy(u8, &buf, bytes); return buf; } @@ -2048,18 +2048,18 @@ fn parseFromFile(self: *MachO, file: fs.File) !void { switch (cmd.cmd()) { macho.LC_SEGMENT_64 => { const x = cmd.Segment; - if (parseAndCmpName(x.inner.segname[0..], "__PAGEZERO")) { + if (parseAndCmpName(&x.inner.segname, "__PAGEZERO")) { self.pagezero_segment_cmd_index = i; - } else if (parseAndCmpName(x.inner.segname[0..], "__LINKEDIT")) { + } else if (parseAndCmpName(&x.inner.segname, "__LINKEDIT")) { self.linkedit_segment_cmd_index = i; - } else if (parseAndCmpName(x.inner.segname[0..], "__TEXT")) { + } else if (parseAndCmpName(&x.inner.segname, "__TEXT")) { self.text_segment_cmd_index = i; for (x.sections.items) |sect, j| { - if (parseAndCmpName(sect.sectname[0..], "__text")) { + if (parseAndCmpName(§.sectname, "__text")) { self.text_section_index = @intCast(u16, j); } } - } else if (parseAndCmpName(x.inner.segname[0..], "__DATA")) { + } else if (parseAndCmpName(&x.inner.segname, "__DATA")) { self.data_segment_cmd_index = i; } }, @@ -2109,7 +2109,7 @@ fn parseFromFile(self: *MachO, file: fs.File) !void { } fn parseAndCmpName(name: []const u8, needle: []const u8) bool { - const len = mem.indexOfScalar(u8, name[0..], @as(u8, 0)) orelse name.len; + const len = mem.indexOfScalar(u8, name, @as(u8, 0)) orelse name.len; return mem.eql(u8, name[0..len], needle); } diff --git a/src/link/MachO/CodeSignature.zig b/src/link/MachO/CodeSignature.zig index 442132dac1..0d8f307a4e 100644 --- a/src/link/MachO/CodeSignature.zig +++ b/src/link/MachO/CodeSignature.zig @@ -126,7 +126,7 @@ pub fn calcAdhocSignature( Sha256.hash(buffer[0..fsize], &hash, .{}); - cdir.data.appendSliceAssumeCapacity(hash[0..]); + cdir.data.appendSliceAssumeCapacity(&hash); cdir.inner.nCodeSlots += 1; } @@ -174,10 +174,10 @@ test "CodeSignature header" { defer code_sig.deinit(); var buffer: [@sizeOf(macho.SuperBlob)]u8 = undefined; - code_sig.writeHeader(buffer[0..]); + code_sig.writeHeader(&buffer); const expected = &[_]u8{ 0xfa, 0xde, 0x0c, 0xc0, 0x0, 0x0, 0x0, 0xc, 0x0, 0x0, 0x0, 0x0 }; - testing.expect(mem.eql(u8, expected[0..], buffer[0..])); + testing.expect(mem.eql(u8, expected, &buffer)); } pub fn calcCodeSignaturePadding(id: []const u8, file_size: u64) u32 { diff --git a/src/link/MachO/Trie.zig b/src/link/MachO/Trie.zig index e445ea4fef..858b6aad60 100644 --- a/src/link/MachO/Trie.zig +++ b/src/link/MachO/Trie.zig @@ -531,14 +531,14 @@ test "write Trie to a byte stream" { { const nwritten = try trie.write(stream.writer()); testing.expect(nwritten == trie.size); - testing.expect(mem.eql(u8, buffer, exp_buffer[0..])); + testing.expect(mem.eql(u8, buffer, &exp_buffer)); } { // Writing finalized trie again should yield the same result. try stream.seekTo(0); const nwritten = try trie.write(stream.writer()); testing.expect(nwritten == trie.size); - testing.expect(mem.eql(u8, buffer, exp_buffer[0..])); + testing.expect(mem.eql(u8, buffer, &exp_buffer)); } } @@ -556,7 +556,7 @@ test "parse Trie from byte stream" { 0x3, 0x0, 0x80, 0x20, 0x0, // terminal node }; - var in_stream = std.io.fixedBufferStream(in_buffer[0..]); + var in_stream = std.io.fixedBufferStream(&in_buffer); var trie = Trie.init(gpa); defer trie.deinit(); const nread = try trie.read(in_stream.reader()); @@ -571,5 +571,5 @@ test "parse Trie from byte stream" { const nwritten = try trie.write(out_stream.writer()); testing.expect(nwritten == trie.size); - testing.expect(mem.eql(u8, in_buffer[0..], out_buffer)); + testing.expect(mem.eql(u8, &in_buffer, out_buffer)); } diff --git a/src/link/MachO/commands.zig b/src/link/MachO/commands.zig index bf63722ece..2fa1f867f5 100644 --- a/src/link/MachO/commands.zig +++ b/src/link/MachO/commands.zig @@ -26,9 +26,9 @@ pub const LoadCommand = union(enum) { const header = try reader.readStruct(macho.load_command); var buffer = try allocator.alloc(u8, header.cmdsize); defer allocator.free(buffer); - mem.copy(u8, buffer[0..], mem.asBytes(&header)); + mem.copy(u8, buffer, mem.asBytes(&header)); try reader.readNoEof(buffer[@sizeOf(macho.load_command)..]); - var stream = io.fixedBufferStream(buffer[0..]); + var stream = io.fixedBufferStream(buffer); return switch (header.cmd) { macho.LC_SEGMENT_64 => LoadCommand{ @@ -216,7 +216,7 @@ pub fn GenericCommandWithData(comptime Cmd: type) type { const inner = try reader.readStruct(Cmd); var data = try allocator.alloc(u8, inner.cmdsize - @sizeOf(Cmd)); errdefer allocator.free(data); - try reader.readNoEof(data[0..]); + try reader.readNoEof(data); return Self{ .inner = inner, .data = data, @@ -309,10 +309,10 @@ test "read-write segment command" { .reserved3 = 0, }); defer cmd.deinit(gpa); - try testRead(gpa, in_buffer[0..], LoadCommand{ .Segment = cmd }); + try testRead(gpa, in_buffer, LoadCommand{ .Segment = cmd }); var out_buffer: [in_buffer.len]u8 = undefined; - try testWrite(out_buffer[0..], LoadCommand{ .Segment = cmd }, in_buffer[0..]); + try testWrite(&out_buffer, LoadCommand{ .Segment = cmd }, in_buffer); } test "read-write generic command with data" { @@ -348,10 +348,10 @@ test "read-write generic command with data" { cmd.data[5] = 0x0; cmd.data[6] = 0x0; cmd.data[7] = 0x0; - try testRead(gpa, in_buffer[0..], LoadCommand{ .Dylib = cmd }); + try testRead(gpa, in_buffer, LoadCommand{ .Dylib = cmd }); var out_buffer: [in_buffer.len]u8 = undefined; - try testWrite(out_buffer[0..], LoadCommand{ .Dylib = cmd }, in_buffer[0..]); + try testWrite(&out_buffer, LoadCommand{ .Dylib = cmd }, in_buffer); } test "read-write C struct command" { @@ -368,8 +368,8 @@ test "read-write C struct command" { .entryoff = 16644, .stacksize = 0, }; - try testRead(gpa, in_buffer[0..], LoadCommand{ .Main = cmd }); + try testRead(gpa, in_buffer, LoadCommand{ .Main = cmd }); var out_buffer: [in_buffer.len]u8 = undefined; - try testWrite(out_buffer[0..], LoadCommand{ .Main = cmd }, in_buffer[0..]); + try testWrite(&out_buffer, LoadCommand{ .Main = cmd }, in_buffer); }