diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2025-07-01 08:44:26 -0700 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2025-07-07 22:43:52 -0700 |
| commit | d6ac04c47811f162ca662f43d3c93a5dc0dcce86 (patch) | |
| tree | 45ff48223b0c35171f444007b05063cf5eee792f /lib/std/Build/Step/CheckObject.zig | |
| parent | 87f32bec2624784e06f5fbd5a9b99c5719154c30 (diff) | |
| download | zig-d6ac04c47811f162ca662f43d3c93a5dc0dcce86.tar.gz zig-d6ac04c47811f162ca662f43d3c93a5dc0dcce86.zip | |
std.Build.Step.CheckObject: fix the TODO
Diffstat (limited to 'lib/std/Build/Step/CheckObject.zig')
| -rw-r--r-- | lib/std/Build/Step/CheckObject.zig | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/lib/std/Build/Step/CheckObject.zig b/lib/std/Build/Step/CheckObject.zig index 96fa443b1e..cc576e6410 100644 --- a/lib/std/Build/Step/CheckObject.zig +++ b/lib/std/Build/Step/CheckObject.zig @@ -1352,7 +1352,7 @@ const MachODumper = struct { var offset: u64 = 0; var addend: i64 = 0; - var name_buf: std.ArrayList(u8) = .init(ctx.gpa); + var name_buf: std.io.Writer.Allocating = .init(ctx.gpa); defer name_buf.deinit(); while (br.takeByte()) |byte| { @@ -1380,9 +1380,8 @@ const MachODumper = struct { }, macho.BIND_OPCODE_SET_SYMBOL_TRAILING_FLAGS_IMM => { name_buf.clearRetainingCapacity(); - if (true) @panic("TODO fix this"); - //try reader.readUntilDelimiterArrayList(&name_buf, 0, std.math.maxInt(u32)); - try name_buf.append(0); + try br.streamDelimiterLimit(&name_buf, 0, .limited(std.math.maxInt(u32))); + try name_buf.writeByte(0); }, macho.BIND_OPCODE_SET_ADDEND_SLEB => { addend = try br.takeLeb128(i64); @@ -1424,7 +1423,7 @@ const MachODumper = struct { .addend = addend, .tag = tag, .ordinal = ordinal, - .name = try ctx.gpa.dupe(u8, name_buf.items), + .name = try ctx.gpa.dupe(u8, name_buf.getWritten()), }); offset += skip + @sizeOf(u64) + add_addr; } |
