Replace read with read_exact
This commit is contained in:
parent
858ac2e2a5
commit
18fbcfa71f
|
@ -25,7 +25,7 @@ impl VocFile {
|
||||||
|
|
||||||
// Signature - Creative Voice File
|
// Signature - Creative Voice File
|
||||||
let mut signature1_buffer: [u8; 19] = [0; 19];
|
let mut signature1_buffer: [u8; 19] = [0; 19];
|
||||||
drop(file.read(&mut signature1_buffer));
|
file.read_exact(&mut signature1_buffer).unwrap();
|
||||||
let signature1 = std::str::from_utf8(&signature1_buffer).unwrap();
|
let signature1 = std::str::from_utf8(&signature1_buffer).unwrap();
|
||||||
if signature1 != Self::SIGNATURE1 {
|
if signature1 != Self::SIGNATURE1 {
|
||||||
panic!("Bad file. Expected \"{}\" got \"{}\"", Self::SIGNATURE1, signature1);
|
panic!("Bad file. Expected \"{}\" got \"{}\"", Self::SIGNATURE1, signature1);
|
||||||
|
@ -33,20 +33,20 @@ impl VocFile {
|
||||||
|
|
||||||
// Signature - 1A 1A 00
|
// Signature - 1A 1A 00
|
||||||
let mut signature2_buffer: [u8; 3] = [0; 3];
|
let mut signature2_buffer: [u8; 3] = [0; 3];
|
||||||
drop(file.read(&mut signature2_buffer));
|
file.read_exact(&mut signature2_buffer).unwrap();
|
||||||
if signature2_buffer != Self::SIGNATURE2 {
|
if signature2_buffer != Self::SIGNATURE2 {
|
||||||
panic!("Bad file. Expected {:02X?} got {:02X?}", Self::SIGNATURE2, signature2_buffer);
|
panic!("Bad file. Expected {:02X?} got {:02X?}", Self::SIGNATURE2, signature2_buffer);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Version
|
// Version
|
||||||
let mut version_buffer: [u8; 2] = [0; 2];
|
let mut version_buffer: [u8; 2] = [0; 2];
|
||||||
drop(file.read(&mut version_buffer));
|
file.read_exact(&mut version_buffer).unwrap();
|
||||||
let version_int = i16::from_le_bytes(version_buffer);
|
let version_int = i16::from_le_bytes(version_buffer);
|
||||||
let version = (version_buffer[1], version_buffer[0]);
|
let version = (version_buffer[1], version_buffer[0]);
|
||||||
|
|
||||||
// Version checksum
|
// Version checksum
|
||||||
let mut checksum_buffer: [u8; 2] = [0; 2];
|
let mut checksum_buffer: [u8; 2] = [0; 2];
|
||||||
drop(file.read(&mut checksum_buffer));
|
file.read_exact(&mut checksum_buffer).unwrap();
|
||||||
let checksum_result = checksum_buffer == Self::checksum(version_int);
|
let checksum_result = checksum_buffer == Self::checksum(version_int);
|
||||||
|
|
||||||
let mut voc_file = VocFile { version, checksum: checksum_result, blocks: Vec::new() };
|
let mut voc_file = VocFile { version, checksum: checksum_result, blocks: Vec::new() };
|
||||||
|
@ -56,7 +56,7 @@ impl VocFile {
|
||||||
|
|
||||||
// Block Type
|
// Block Type
|
||||||
let mut block_type_buffer: [u8; 1] = [0];
|
let mut block_type_buffer: [u8; 1] = [0];
|
||||||
drop(file.read(&mut block_type_buffer));
|
file.read_exact(&mut block_type_buffer).unwrap();
|
||||||
let block_type = match block_type_buffer[0] {
|
let block_type = match block_type_buffer[0] {
|
||||||
0 => BlockType::Terminator,
|
0 => BlockType::Terminator,
|
||||||
1 => BlockType::SoundData,
|
1 => BlockType::SoundData,
|
||||||
|
|
Loading…
Reference in New Issue