From d6055b5ac4f3ff5016bc4881cf1cc109a22c40ba Mon Sep 17 00:00:00 2001 From: Igor Tolmachev Date: Sun, 16 Jun 2024 21:36:13 +0900 Subject: Implement serialize --- src/zip/driver.rs | 4 ++-- src/zip/error.rs | 8 ++++---- src/zip/mod.rs | 1 + 3 files changed, 7 insertions(+), 6 deletions(-) (limited to 'src/zip') diff --git a/src/zip/driver.rs b/src/zip/driver.rs index 313bf8d..d575509 100644 --- a/src/zip/driver.rs +++ b/src/zip/driver.rs @@ -4,7 +4,7 @@ use crate::zip::structs::{EOCDR64Locator, CDR, EOCDR, EOCDR64}; use crate::zip::ZipFile; use std::collections::HashMap as Map; use std::fs::File; -use std::io::{Cursor, Read, Seek, SeekFrom, Write}; +use std::io::{Read, Seek, SeekFrom, Write}; pub struct Zip { io: IO, @@ -43,7 +43,7 @@ impl ArchiveRead for Zip { }; let eocdr: EOCDR = bincode::deserialize(&buf).map_err(|_| ZipError::InvalidEOCDR)?; let comment = { - let mut buf = vec![0; eocdr.comment_len as usize]; + let mut buf: Vec = vec![0; eocdr.comment_len as usize]; io.read(&mut buf)?; String::from_utf8(buf).map_err(|_| ZipError::InvalidArchiveComment)? }; diff --git a/src/zip/error.rs b/src/zip/error.rs index ad1989a..18bbb22 100644 --- a/src/zip/error.rs +++ b/src/zip/error.rs @@ -2,7 +2,7 @@ use crate::{ArchiveError, ArchiveResult}; use std::error::Error; use std::fmt::Display; -pub type ZipResult = ArchiveResult; +pub type ZipResult = ArchiveResult; #[derive(Debug)] pub enum ZipError { @@ -22,10 +22,10 @@ pub enum ZipError { impl From for ArchiveError { fn from(value: ZipError) -> Self { - return ArchiveError::Driver { - name: "Zip", + Self::Archivator { + module: "Zip".to_string(), error: value, - }; + } } } diff --git a/src/zip/mod.rs b/src/zip/mod.rs index 612a946..5aeca97 100644 --- a/src/zip/mod.rs +++ b/src/zip/mod.rs @@ -4,4 +4,5 @@ mod file; mod structs; pub use driver::Zip; +pub use error::ZipError; pub use file::ZipFile; -- cgit v1.2.3