Remove SeekFrom include.

Make the two VOC Signatures const.
This commit is contained in:
Pedro de Oliveira 2023-04-22 19:09:29 +01:00
parent 61513b5a5d
commit 0a0f5f5ed4
1 changed files with 8 additions and 7 deletions

View File

@ -2,7 +2,7 @@
use std::fmt;
use std::fs::File;
use std::io::{Read, Seek, SeekFrom, Write};
use std::io::{Read, Seek, Write};
#[derive(Clone, Copy, Debug)]
pub enum Codec {
@ -36,24 +36,25 @@ pub struct VocFile {
}
impl VocFile {
const SIGNATURE1: &'static str = "Creative Voice File";
const SIGNATURE2: [u8; 3] = [0x1A, 0x1A, 0x0];
pub fn from_file(file_name: &str) -> Self {
let mut fp = File::open(file_name).unwrap();
// Signature - Creative Voice File
let mut signature1_buffer: [u8; 19] = [0; 19];
drop(fp.read(&mut signature1_buffer));
let signature1_expected = "Creative Voice File";
let signature1 = std::str::from_utf8(&signature1_buffer).unwrap();
if signature1 != signature1_expected {
panic!("Bad file. Expected \"{}\" got \"{}\"", signature1_expected, signature1);
if signature1 != Self::SIGNATURE1 {
panic!("Bad file. Expected \"{}\" got \"{}\"", Self::SIGNATURE1, signature1);
}
// Signature - 1A 1A 00
let mut signature2_buffer: [u8; 3] = [0; 3];
drop(fp.read(&mut signature2_buffer));
let signature2_expected: [u8; 3] = [0x1A, 0x1A, 0x0];
if signature2_buffer != signature2_expected {
panic!("Bad file. Expected {:02X?} got {:02X?}", signature2_expected, signature2_buffer);
if signature2_buffer != Self::SIGNATURE2 {
panic!("Bad file. Expected {:02X?} got {:02X?}", Self::SIGNATURE2, signature2_buffer);
}
// Version