From 5c60695e0d11a07602a94accd2546b408503c6d3 Mon Sep 17 00:00:00 2001 From: Colin Finck Date: Sat, 5 Jun 2021 16:06:34 +0200 Subject: Prefer `i64::try_from` over manual range checks --- src/attribute_value.rs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/attribute_value.rs b/src/attribute_value.rs index a41f1ca..2ae32dd 100644 --- a/src/attribute_value.rs +++ b/src/attribute_value.rs @@ -8,6 +8,7 @@ use crate::types::Lcn; use binread::io; use binread::io::{Read, Seek, SeekFrom}; use binread::BinReaderExt; +use core::convert::TryFrom; use core::iter::FusedIterator; use core::ops::Range; use core::{cmp, mem}; @@ -435,8 +436,8 @@ impl<'n> NtfsAttributeNonResidentValue<'n> { // We don't need to traverse data runs from the very beginning then. if let SeekFrom::Start(n) = bytes_to_seek { if let Some(n_from_current) = n.checked_sub(self.stream_position) { - if n_from_current <= i64::MAX as u64 { - bytes_to_seek = SeekFrom::Current(n_from_current as i64); + if let Ok(signed_n_from_current) = i64::try_from(n_from_current) { + bytes_to_seek = SeekFrom::Current(signed_n_from_current); } } } -- cgit v1.2.3