# HG changeset patch # User Emmanuel Gil Peyrot # Date 1609894026 -3600 # Node ID f506ad5c9b1709e0ae6753e423be620dcf9c9f8b # Parent eba9a3d0c484fb7c1e4c77926747fdd55db6f8e1 formats: Replace unwrap() with proper io::Error. diff --git a/formats/src/th06/pbg3.rs b/formats/src/th06/pbg3.rs --- a/formats/src/th06/pbg3.rs +++ b/formats/src/th06/pbg3.rs @@ -120,8 +120,7 @@ impl PBG3 { let offset = bitstream.read_u32()?; let size = bitstream.read_u32()?; let name = bitstream.read_string(255)?; - // XXX: no unwrap! - let name = String::from_utf8(name).unwrap(); + let name = String::from_utf8(name).map_err(|err| io::Error::new(io::ErrorKind::InvalidData, err))?; entries.insert(name, (unknown_1, unknown_2, checksum, offset, size)); } @@ -135,8 +134,9 @@ impl PBG3 { /// Read a single file from this PBG3 archive. pub fn get_file(&mut self, filename: &str, check: bool) -> io::Result> { - // XXX: no unwrap! - let (_unknown_1, _unknown_2, checksum, offset, size) = self.entries.get(filename).unwrap(); + let (_unknown_1, _unknown_2, checksum, offset, size) = + self.entries.get(filename) + .ok_or_else(|| io::Error::new(io::ErrorKind::NotFound, format!("File not found in PBG3: {}", filename)))?; self.bitstream.seek(io::SeekFrom::Start(*offset as u64))?; let data = lzss::decompress(&mut self.bitstream.bitstream, *size as usize, 0x2000, 13, 4, 3)?; if check {