mirror of https://github.com/encounter/nod-rs.git
Minor changes & cleanup
This commit is contained in:
parent
1e44f23aba
commit
73eebfe90b
|
@ -73,21 +73,6 @@ version = "0.2.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf"
|
checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf"
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "bit-set"
|
|
||||||
version = "0.8.0"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "08807e080ed7f9d5433fa9b275196cfc35414f66a0c79d864dc51a0d825231a3"
|
|
||||||
dependencies = [
|
|
||||||
"bit-vec",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "bit-vec"
|
|
||||||
version = "0.8.0"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7"
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "bitflags"
|
name = "bitflags"
|
||||||
version = "2.6.0"
|
version = "2.6.0"
|
||||||
|
@ -562,15 +547,6 @@ version = "2.7.4"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3"
|
checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3"
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "memmap2"
|
|
||||||
version = "0.9.5"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "fd3f7eed9d3848f8b98834af67102b720745c4ec028fcd0aa0239277e7de374f"
|
|
||||||
dependencies = [
|
|
||||||
"libc",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "mimalloc"
|
name = "mimalloc"
|
||||||
version = "0.1.43"
|
version = "0.1.43"
|
||||||
|
@ -602,7 +578,6 @@ dependencies = [
|
||||||
"adler",
|
"adler",
|
||||||
"aes",
|
"aes",
|
||||||
"base16ct",
|
"base16ct",
|
||||||
"bit-set",
|
|
||||||
"bytes",
|
"bytes",
|
||||||
"bzip2",
|
"bzip2",
|
||||||
"cbc",
|
"cbc",
|
||||||
|
@ -617,7 +592,6 @@ dependencies = [
|
||||||
"liblzma-sys",
|
"liblzma-sys",
|
||||||
"lru",
|
"lru",
|
||||||
"md-5",
|
"md-5",
|
||||||
"memmap2",
|
|
||||||
"miniz_oxide",
|
"miniz_oxide",
|
||||||
"openssl",
|
"openssl",
|
||||||
"polonius-the-crab",
|
"polonius-the-crab",
|
||||||
|
|
|
@ -27,7 +27,6 @@ openssl-vendored = ["openssl", "openssl/vendored"]
|
||||||
adler = { version = "1.0", optional = true }
|
adler = { version = "1.0", optional = true }
|
||||||
aes = "0.9.0-pre.2"
|
aes = "0.9.0-pre.2"
|
||||||
base16ct = "0.2"
|
base16ct = "0.2"
|
||||||
bit-set = "0.8"
|
|
||||||
bytes = "1.8"
|
bytes = "1.8"
|
||||||
bzip2 = { version = "0.4", features = ["static"], optional = true }
|
bzip2 = { version = "0.4", features = ["static"], optional = true }
|
||||||
cbc = "0.2.0-pre.2"
|
cbc = "0.2.0-pre.2"
|
||||||
|
@ -42,7 +41,6 @@ liblzma = { version = "0.3", features = ["static"], optional = true }
|
||||||
liblzma-sys = { version = "0.3", features = ["static"], optional = true }
|
liblzma-sys = { version = "0.3", features = ["static"], optional = true }
|
||||||
lru = "0.12"
|
lru = "0.12"
|
||||||
md-5 = { workspace = true }
|
md-5 = { workspace = true }
|
||||||
memmap2 = "0.9"
|
|
||||||
miniz_oxide = { version = "0.8", optional = true }
|
miniz_oxide = { version = "0.8", optional = true }
|
||||||
openssl = { version = "0.10", optional = true }
|
openssl = { version = "0.10", optional = true }
|
||||||
polonius-the-crab = "0.4"
|
polonius-the-crab = "0.4"
|
||||||
|
|
|
@ -1,51 +0,0 @@
|
||||||
use std::{io, path::Path, sync::Arc};
|
|
||||||
|
|
||||||
use memmap2::Mmap;
|
|
||||||
|
|
||||||
use crate::{util::impl_read_for_bufread, Result, ResultContext};
|
|
||||||
|
|
||||||
pub struct MappedFileReader {
|
|
||||||
inner: Arc<Mmap>,
|
|
||||||
pos: usize,
|
|
||||||
}
|
|
||||||
|
|
||||||
impl Clone for MappedFileReader {
|
|
||||||
fn clone(&self) -> Self { Self { inner: self.inner.clone(), pos: 0 } }
|
|
||||||
}
|
|
||||||
|
|
||||||
impl MappedFileReader {
|
|
||||||
#[expect(unused)]
|
|
||||||
pub fn new(path: &Path) -> Result<Self> {
|
|
||||||
let file = std::fs::File::open(path)
|
|
||||||
.with_context(|| format!("Failed to open file {}", path.display()))?;
|
|
||||||
let inner = unsafe { Mmap::map(&file) }
|
|
||||||
.with_context(|| format!("Failed to map file {}", path.display()))?;
|
|
||||||
Ok(Self { inner: Arc::new(inner), pos: 0 })
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
impl io::BufRead for MappedFileReader {
|
|
||||||
fn fill_buf(&mut self) -> io::Result<&[u8]> {
|
|
||||||
if self.pos < self.inner.len() {
|
|
||||||
Ok(&self.inner[self.pos..])
|
|
||||||
} else {
|
|
||||||
Ok(&[])
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
fn consume(&mut self, amt: usize) { self.pos = self.pos.saturating_add(amt); }
|
|
||||||
}
|
|
||||||
|
|
||||||
impl_read_for_bufread!(MappedFileReader);
|
|
||||||
|
|
||||||
impl io::Seek for MappedFileReader {
|
|
||||||
fn seek(&mut self, pos: io::SeekFrom) -> io::Result<u64> {
|
|
||||||
let pos = match pos {
|
|
||||||
io::SeekFrom::Start(pos) => pos,
|
|
||||||
io::SeekFrom::End(pos) => (self.inner.len() as u64).saturating_add_signed(pos),
|
|
||||||
io::SeekFrom::Current(off) => (self.pos as u64).saturating_add_signed(off),
|
|
||||||
};
|
|
||||||
self.pos = pos.try_into().map_err(|_| io::ErrorKind::UnexpectedEof)?;
|
|
||||||
Ok(pos)
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -5,7 +5,6 @@ pub(crate) mod ciso;
|
||||||
#[cfg(feature = "compress-zlib")]
|
#[cfg(feature = "compress-zlib")]
|
||||||
pub(crate) mod gcz;
|
pub(crate) mod gcz;
|
||||||
pub(crate) mod iso;
|
pub(crate) mod iso;
|
||||||
pub(crate) mod mapped;
|
|
||||||
pub(crate) mod nfs;
|
pub(crate) mod nfs;
|
||||||
pub(crate) mod nkit;
|
pub(crate) mod nkit;
|
||||||
pub(crate) mod split;
|
pub(crate) mod split;
|
||||||
|
|
|
@ -1517,6 +1517,7 @@ impl DiscWriterWIA {
|
||||||
|
|
||||||
let mut partitions = <[WIAPartition]>::new_box_zeroed_with_elems(num_partitions as usize)?;
|
let mut partitions = <[WIAPartition]>::new_box_zeroed_with_elems(num_partitions as usize)?;
|
||||||
let mut raw_data = <[WIARawData]>::new_box_zeroed_with_elems(num_raw_data as usize)?;
|
let mut raw_data = <[WIARawData]>::new_box_zeroed_with_elems(num_raw_data as usize)?;
|
||||||
|
raw_data[0].raw_data_offset = (DISC_HEAD_SIZE as u64).into();
|
||||||
|
|
||||||
let mut raw_data_idx = 0;
|
let mut raw_data_idx = 0;
|
||||||
let mut group_idx = 0;
|
let mut group_idx = 0;
|
||||||
|
|
Loading…
Reference in New Issue