Skip to content

Commit ecd6840

Browse files
authored
Fix new/stricter clippy lints since Rust 1.67 (#109)
1 parent 7e40e18 commit ecd6840

File tree

6 files changed

+34
-33
lines changed

6 files changed

+34
-33
lines changed

apk/src/res.rs

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -870,7 +870,7 @@ pub enum Chunk {
870870

871871
impl Chunk {
872872
pub fn parse<R: Read + Seek>(r: &mut R) -> Result<Self> {
873-
let start_pos = r.seek(SeekFrom::Current(0))?;
873+
let start_pos = r.stream_position()?;
874874
let header = ResChunkHeader::read(r)?;
875875
let end_pos = start_pos + header.size as u64;
876876
match ChunkType::from_u16(header.ty) {
@@ -936,7 +936,7 @@ impl Chunk {
936936
strings.push(s);
937937
}
938938
}
939-
let pos = r.seek(SeekFrom::Current(0))? as i64;
939+
let pos = r.stream_position()? as i64;
940940
if pos % 4 != 0 {
941941
r.seek(SeekFrom::Current(4 - pos % 4))?;
942942
}
@@ -956,15 +956,15 @@ impl Chunk {
956956
tracing::trace!("table");
957957
let table_header = ResTableHeader::read(r)?;
958958
let mut chunks = vec![];
959-
while r.seek(SeekFrom::Current(0))? < end_pos {
959+
while r.stream_position()? < end_pos {
960960
chunks.push(Chunk::parse(r)?);
961961
}
962962
Ok(Chunk::Table(table_header, chunks))
963963
}
964964
Some(ChunkType::Xml) => {
965965
tracing::trace!("xml");
966966
let mut chunks = vec![];
967-
while r.seek(SeekFrom::Current(0))? < end_pos {
967+
while r.stream_position()? < end_pos {
968968
chunks.push(Chunk::parse(r)?);
969969
}
970970
Ok(Chunk::Xml(chunks))
@@ -1014,7 +1014,7 @@ impl Chunk {
10141014
tracing::trace!("table package");
10151015
let package_header = ResTablePackageHeader::read(r)?;
10161016
let mut chunks = vec![];
1017-
while r.seek(SeekFrom::Current(0))? < end_pos {
1017+
while r.stream_position()? < end_pos {
10181018
chunks.push(Chunk::parse(r)?);
10191019
}
10201020
Ok(Chunk::TablePackage(package_header, chunks))
@@ -1067,7 +1067,7 @@ impl Chunk {
10671067
}
10681068
impl ChunkWriter {
10691069
fn start_chunk<W: Seek + Write>(ty: ChunkType, w: &mut W) -> Result<Self> {
1070-
let start_chunk = w.seek(SeekFrom::Current(0))?;
1070+
let start_chunk = w.stream_position()?;
10711071
ResChunkHeader::default().write(w)?;
10721072
Ok(Self {
10731073
ty,
@@ -1077,13 +1077,13 @@ impl Chunk {
10771077
}
10781078

10791079
fn end_header<W: Seek + Write>(&mut self, w: &mut W) -> Result<()> {
1080-
self.end_header = w.seek(SeekFrom::Current(0))?;
1080+
self.end_header = w.stream_position()?;
10811081
Ok(())
10821082
}
10831083

10841084
fn end_chunk<W: Seek + Write>(self, w: &mut W) -> Result<(u64, u64)> {
10851085
assert_ne!(self.end_header, 0);
1086-
let end_chunk = w.seek(SeekFrom::Current(0))?;
1086+
let end_chunk = w.stream_position()?;
10871087
let header = ResChunkHeader {
10881088
ty: self.ty as u16,
10891089
header_size: (self.end_header - self.start_chunk) as u16,
@@ -1106,22 +1106,22 @@ impl Chunk {
11061106
for _ in 0..indices_count {
11071107
w.write_u32::<LittleEndian>(0)?;
11081108
}
1109-
let strings_start = w.seek(SeekFrom::Current(0))?;
1109+
let strings_start = w.stream_position()?;
11101110
for string in strings {
1111-
indices.push(w.seek(SeekFrom::Current(0))? - strings_start);
1111+
indices.push(w.stream_position()? - strings_start);
11121112
assert!(string.len() < 0x7f);
11131113
let chars = string.chars().count();
11141114
w.write_u8(chars as u8)?;
11151115
w.write_u8(string.len() as u8)?;
11161116
w.write_all(string.as_bytes())?;
11171117
w.write_u8(0)?;
11181118
}
1119-
while w.seek(SeekFrom::Current(0))? % 4 != 0 {
1119+
while w.stream_position()? % 4 != 0 {
11201120
w.write_u8(0)?;
11211121
}
1122-
let styles_start = w.seek(SeekFrom::Current(0))?;
1122+
let styles_start = w.stream_position()?;
11231123
for style in styles {
1124-
indices.push(w.seek(SeekFrom::Current(0))? - styles_start);
1124+
indices.push(w.stream_position()? - styles_start);
11251125
for span in style {
11261126
span.write(w)?;
11271127
}
@@ -1200,18 +1200,18 @@ impl Chunk {
12001200
chunk.end_chunk(w)?;
12011201
}
12021202
Chunk::TablePackage(package_header, chunks) => {
1203-
let package_start = w.seek(SeekFrom::Current(0))?;
1203+
let package_start = w.stream_position()?;
12041204
let mut chunk = ChunkWriter::start_chunk(ChunkType::TablePackage, w)?;
12051205
let mut package_header = package_header.clone();
1206-
let header_start = w.seek(SeekFrom::Current(0))?;
1206+
let header_start = w.stream_position()?;
12071207
package_header.write(w)?;
12081208
chunk.end_header(w)?;
12091209

1210-
let type_strings_start = w.seek(SeekFrom::Current(0))?;
1210+
let type_strings_start = w.stream_position()?;
12111211
package_header.type_strings = (type_strings_start - package_start) as u32;
12121212
chunks[0].write(w)?;
12131213

1214-
let key_strings_start = w.seek(SeekFrom::Current(0))?;
1214+
let key_strings_start = w.stream_position()?;
12151215
package_header.key_strings = (key_strings_start - package_start) as u32;
12161216
chunks[1].write(w)?;
12171217

@@ -1220,7 +1220,7 @@ impl Chunk {
12201220
}
12211221
chunk.end_chunk(w)?;
12221222

1223-
let end = w.seek(SeekFrom::Current(0))?;
1223+
let end = w.stream_position()?;
12241224
w.seek(SeekFrom::Start(header_start))?;
12251225
package_header.write(w)?;
12261226
w.seek(SeekFrom::Start(end))?;

apk/src/sign.rs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -105,9 +105,9 @@ pub fn sign(path: &Path, signer: Option<Signer>) -> Result<()> {
105105
let mut f = File::create(path)?;
106106
f.write_all(&apk[..(block.sb_start as usize)])?;
107107
f.write_all(&nblock)?;
108-
let cd_start = f.seek(SeekFrom::Current(0))?;
108+
let cd_start = f.stream_position()?;
109109
f.write_all(&apk[(block.cd_start as usize)..(block.cde_start as usize)])?;
110-
let cde_start = f.seek(SeekFrom::Current(0))?;
110+
let cde_start = f.stream_position()?;
111111
f.write_all(&apk[(block.cde_start as usize)..])?;
112112
f.seek(SeekFrom::Start(cde_start + 16))?;
113113
f.write_u32::<LittleEndian>(cd_start as u32)?;
@@ -125,7 +125,8 @@ fn compute_digest<R: Read + Seek>(
125125
let mut chunk = vec![0u8; MAX_CHUNK_SIZE];
126126

127127
// chunk contents
128-
let mut pos = r.seek(SeekFrom::Start(0))?;
128+
r.rewind()?;
129+
let mut pos = 0;
129130
while pos < sb_start {
130131
hash_chunk(&mut chunks, r, sb_start, &mut hasher, &mut chunk, &mut pos)?;
131132
}

msix/src/lib.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ use anyhow::Result;
55
use serde::Serialize;
66
use sha2::{Digest, Sha256};
77
use std::fs::File;
8-
use std::io::{BufReader, Cursor, Read, Seek, SeekFrom};
8+
use std::io::{BufReader, Cursor, Read, Seek};
99
use std::path::{Path, PathBuf};
1010
use xcommon::{Scaler, ScalerOptsBuilder, Signer, Zip, ZipFileOptions, ZipInfo};
1111
use zip::ZipArchive;
@@ -122,7 +122,7 @@ impl Msix {
122122
// compute zip hashes
123123
let mut r = BufReader::new(File::open(path)?);
124124
let info = ZipInfo::new(&mut r)?;
125-
r.seek(SeekFrom::Start(0))?;
125+
r.rewind()?;
126126
let mut hasher = Sha256::new();
127127
let mut pc = (&mut r).take(info.cd_start);
128128
std::io::copy(&mut pc, &mut hasher)?;

pri/src/decision_info.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ impl DecisionInfo {
6767
let index = r.read_u16::<LE>()?;
6868
index_table.push(index as usize);
6969
}
70-
let data_start = r.seek(SeekFrom::Current(0))?;
70+
let data_start = r.stream_position()?;
7171
let mut qualifiers = Vec::with_capacity(num_qualifiers);
7272
for info in &qualifier_infos {
7373
let distinct_info = &distinct_qualifier_infos[info.index];
@@ -176,7 +176,7 @@ impl DecisionInfo {
176176
w.write_u16::<LE>(decision_infos.len() as u16)?;
177177
w.write_u16::<LE>(index_table.len() as u16)?;
178178
w.write_u16::<LE>(0)?;
179-
let start = w.seek(SeekFrom::Current(0))?;
179+
let start = w.stream_position()?;
180180
for info in decision_infos {
181181
w.write_u16::<LE>(info.first_qualifier_set_index_index as u16)?;
182182
w.write_u16::<LE>(info.num_qualifier_sets_in_decision as u16)?;
@@ -202,7 +202,7 @@ impl DecisionInfo {
202202
w.write_u16::<LE>(index)?;
203203
}
204204
w.write_all(&values)?;
205-
let end = w.seek(SeekFrom::Current(0))?;
205+
let end = w.stream_position()?;
206206
w.seek(SeekFrom::Start(start - 2))?;
207207
w.write_u16::<LE>((end - start) as u16)?;
208208
w.seek(SeekFrom::Start(end))?;

pri/src/hierarchical_schema.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ impl HierarchicalSchema {
6666
for _ in 0..num_items {
6767
item_index_property_to_index.push(r.read_u16::<LE>()?);
6868
}
69-
let unicode_data_offset = r.seek(SeekFrom::Current(0))?;
69+
let unicode_data_offset = r.stream_position()?;
7070
let ascii_data_offset = unicode_data_offset + unicode_data_length * 2;
7171
let mut scopes = vec![ResourceMapEntry::default(); num_scopes];
7272
let mut items = vec![ResourceMapEntry::default(); num_items];

pri/src/lib.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -97,17 +97,17 @@ impl PriFile {
9797
.write(w)?;
9898
}
9999
for (i, section) in self.sections.iter().enumerate() {
100-
let start = w.seek(SeekFrom::Current(0))?;
100+
let start = w.stream_position()?;
101101
section.write(w)?;
102-
let end = w.seek(SeekFrom::Current(0))?;
102+
let end = w.stream_position()?;
103103
let offset = start - section_start_offset;
104104
let length = end - start;
105105
w.seek(SeekFrom::Start(toc_offset as u64 + 32 * i as u64 + 24))?;
106106
w.write_u32::<LE>(offset as u32)?;
107107
w.write_u32::<LE>(length as u32)?;
108108
w.seek(SeekFrom::Start(end))?;
109109
}
110-
let pos = w.seek(SeekFrom::Current(0))?;
110+
let pos = w.stream_position()?;
111111
let total_file_size = pos + 16;
112112
w.write_u32::<LE>(0xdefffade)?;
113113
w.write_u32::<LE>(total_file_size as u32)?;
@@ -197,7 +197,7 @@ pub struct Section {
197197

198198
impl Section {
199199
pub fn read<R: Read + Seek>(r: &mut R) -> Result<Self> {
200-
let start = r.seek(SeekFrom::Current(0))?;
200+
let start = r.stream_position()?;
201201
let mut section_identifier = [0; 16];
202202
r.read_exact(&mut section_identifier)?;
203203
let section_qualifier = r.read_u32::<LE>()?;
@@ -224,9 +224,9 @@ impl Section {
224224
w.write_u16::<LE>(self.section_flags)?;
225225
w.write_u32::<LE>(0)?;
226226
w.write_u32::<LE>(0)?;
227-
let start = w.seek(SeekFrom::Current(0))?;
227+
let start = w.stream_position()?;
228228
self.data.write(w)?;
229-
let end = w.seek(SeekFrom::Current(0))?;
229+
let end = w.stream_position()?;
230230
let section_length = (end - start) as u32 + 40;
231231
w.write_u32::<LE>(0xdef5fade)?;
232232
w.write_u32::<LE>(section_length)?;

0 commit comments

Comments
 (0)