diff options
Diffstat (limited to 'src/itfile.rs')
-rw-r--r-- | src/itfile.rs | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/itfile.rs b/src/itfile.rs index 6d85a87..311207b 100644 --- a/src/itfile.rs +++ b/src/itfile.rs @@ -541,7 +541,8 @@ pub fn load(filename: &str) -> Result<ITFile, self::Error> let patt_offsets: Vec<u32> = read_vec(&mut f, header.npatt as usize)?; println!("orders {:?}", orders); - println!("inst offsets {:x?}",inst_offsets); + println!("inst offsets {:x?}", inst_offsets); + println!("patt offsets {:x?}", patt_offsets); let mut message = String::new(); if header.has_message() @@ -601,6 +602,11 @@ pub fn load(filename: &str) -> Result<ITFile, self::Error> let mut patterns: Vec<Patt> = Vec::new(); for patt_offset in patt_offsets { + if patt_offset == 0 + { + patterns.push(Patt{nrows: 0, nch: 64, data: vec![]}); + continue; + } f.seek(SeekFrom::Start(patt_offset.into()))?; let patt = Patt::load(&mut f)?; let dataend_off = f.stream_position()?; |