pub fn next(it: *LoadCommandIterator) error it: *LoadCommandIterator1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995 pub fn next(it: *LoadCommandIterator) error{InvalidMachO}!?LoadCommand {
if (it.next_index >= it.ncmds) return null;
const hdr = it.r.peekStruct(load_command, .little) catch |err| switch (err) {
error.ReadFailed => unreachable,
error.EndOfStream => return error.InvalidMachO,
};
const data = it.r.take(hdr.cmdsize) catch |err| switch (err) {
error.ReadFailed => unreachable,
error.EndOfStream => return error.InvalidMachO,
};
it.next_index += 1;
return .{ .hdr = hdr, .data = data };
}