🐛 bug: patch loader
parent
46cf5837bc
commit
ae858ebe70
|
@ -296,24 +296,27 @@ pub fn parse_block <R: Read> (rdr: &mut R, blocks: &mut Vec <Block>)
|
|||
// I think this is delta line numbers, e.g. most instructions
|
||||
// have 0, but when you go to a new source line it's 1+.
|
||||
|
||||
let lineinfo_count = parse_int (rdr).unwrap ();
|
||||
let lineinfo_count = load_size (rdr);
|
||||
for _ in 0..lineinfo_count {
|
||||
parse_byte (rdr).unwrap ();
|
||||
}
|
||||
|
||||
// Absolute line info, didn't see that in my test files
|
||||
|
||||
let abslineinfo_count = parse_int (rdr).unwrap ();
|
||||
assert_eq! (abslineinfo_count, 0);
|
||||
|
||||
let local_count = parse_int (rdr).unwrap ();
|
||||
for _ in 0..local_count {
|
||||
parse_string(rdr).unwrap ();
|
||||
parse_int (rdr).unwrap ();
|
||||
parse_int (rdr).unwrap ();
|
||||
let abslineinfo_count = load_size (rdr);
|
||||
for _ in 0..abslineinfo_count {
|
||||
load_unsigned (rdr, usize::MAX);
|
||||
load_unsigned (rdr, usize::MAX);
|
||||
}
|
||||
|
||||
let upvalue_count = parse_int (rdr).unwrap ();
|
||||
let local_count = load_size (rdr);
|
||||
for _ in 0..local_count {
|
||||
parse_string(rdr);
|
||||
load_unsigned (rdr, usize::MAX);
|
||||
load_unsigned (rdr, usize::MAX);
|
||||
}
|
||||
|
||||
let upvalue_count = load_size (rdr);
|
||||
for _ in 0..upvalue_count {
|
||||
parse_string (rdr).unwrap ();
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue