diff options
author | Norbert Preining <norbert@preining.info> | 2022-06-13 03:03:42 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2022-06-13 03:03:42 +0000 |
commit | ef6d63ded56fb892decaa8ab41d7deebbe670473 (patch) | |
tree | 9c8eccf2e633fcfe0ad512e5428222ce0707971e /support/texlab/src/distro | |
parent | 86d0c4c6729cfb43e13fb29790810c3cc2521806 (diff) |
CTAN sync 202206130303
Diffstat (limited to 'support/texlab/src/distro')
-rw-r--r-- | support/texlab/src/distro/kpsewhich.rs | 1 | ||||
-rw-r--r-- | support/texlab/src/distro/miktex.rs | 14 | ||||
-rw-r--r-- | support/texlab/src/distro/texlive.rs | 9 |
3 files changed, 13 insertions, 11 deletions
diff --git a/support/texlab/src/distro/kpsewhich.rs b/support/texlab/src/distro/kpsewhich.rs index ad2ac9eaf2..b14e64bf56 100644 --- a/support/texlab/src/distro/kpsewhich.rs +++ b/support/texlab/src/distro/kpsewhich.rs @@ -18,6 +18,7 @@ pub struct Resolver { } impl Resolver { + #[must_use] pub fn new(files_by_name: FxHashMap<SmolStr, PathBuf>) -> Self { Self { files_by_name } } diff --git a/support/texlab/src/distro/miktex.rs b/support/texlab/src/distro/miktex.rs index 563c8445e3..c7a92d572e 100644 --- a/support/texlab/src/distro/miktex.rs +++ b/support/texlab/src/distro/miktex.rs @@ -18,10 +18,10 @@ pub fn load_resolver() -> Result<Resolver> { const DATABASE_PATH: &str = "miktex/data/le"; const FNDB_SIGNATURE: u32 = 0x42_44_4e_46; -const FNDB_WORD_SIZE: usize = 4; -const FNDB_TABLE_POINTER_OFFSET: usize = 4 * FNDB_WORD_SIZE; -const FNDB_TABLE_SIZE_OFFSET: usize = 6 * FNDB_WORD_SIZE; -const FNDB_ENTRY_SIZE: usize = 4 * FNDB_WORD_SIZE; +const FNDB_WORD_SIZE: u32 = 4; +const FNDB_TABLE_POINTER_OFFSET: u32 = 4 * FNDB_WORD_SIZE; +const FNDB_TABLE_SIZE_OFFSET: u32 = 6 * FNDB_WORD_SIZE; +const FNDB_ENTRY_SIZE: u32 = 4 * FNDB_WORD_SIZE; fn read_database(directory: &Path) -> Result<Vec<PathBuf>> { let database_directory = directory.join(DATABASE_PATH); @@ -45,16 +45,16 @@ fn parse_database(bytes: &[u8]) -> io::Result<Vec<PathBuf>> { return Err(io::ErrorKind::InvalidData.into()); } - reader.set_position(FNDB_TABLE_POINTER_OFFSET as u64); + reader.set_position(u64::from(FNDB_TABLE_POINTER_OFFSET)); let table_address = reader.read_u32::<LittleEndian>()?; - reader.set_position(FNDB_TABLE_SIZE_OFFSET as u64); + reader.set_position(u64::from(FNDB_TABLE_SIZE_OFFSET)); let table_size = reader.read_u32::<LittleEndian>()?; let mut files = Vec::new(); for i in 0..table_size { let offset = table_address + i * FNDB_ENTRY_SIZE as u32; - reader.set_position(offset as u64); + reader.set_position(u64::from(offset)); let file_name_offset = reader.read_u32::<LittleEndian>()? as usize; let directory_offset = reader.read_u32::<LittleEndian>()? as usize; let file_name = read_string(bytes, file_name_offset)?; diff --git a/support/texlab/src/distro/texlive.rs b/support/texlab/src/distro/texlive.rs index 27f55569a7..47159b2efc 100644 --- a/support/texlab/src/distro/texlive.rs +++ b/support/texlab/src/distro/texlive.rs @@ -1,5 +1,5 @@ use std::{ - fs, io, + fs, path::{Path, PathBuf}, str::Lines, }; @@ -23,11 +23,11 @@ fn read_database(directory: &Path) -> Result<Vec<PathBuf>> { } let text = fs::read_to_string(file)?; - let files = parse_database(text.lines())?; + let files = parse_database(text.lines()); Ok(files) } -fn parse_database(lines: Lines) -> io::Result<Vec<PathBuf>> { +fn parse_database(lines: Lines) -> Vec<PathBuf> { let mut paths = Vec::new(); let mut directory = ""; @@ -39,5 +39,6 @@ fn parse_database(lines: Lines) -> io::Result<Vec<PathBuf>> { paths.push(path); } } - Ok(paths) + + paths } |