use super::{UmsbtFile, UmsbtMetadata};
use dh::{recommended::*, Readable};
use std::io::Result;
pub fn metadata(reader: &mut dyn Readable) -> Result<UmsbtMetadata> {
let body_offset = reader.read_i32le()? as u64;
reader.rewind()?;
let mut files = vec![];
let mut i = 0;
while reader.pos()? < body_offset {
let file = UmsbtFile {
offset: reader.read_i32le()?,
size: reader.read_i32le()?,
path: format!("{i:08}.msbt"),
};
if file.size <= 0 {
break;
}
files.push(file);
i += 1;
}
Ok(UmsbtMetadata { files })
}