diff --git a/benches/filters.rs b/benches/filters.rs index b710131a..6cf1e4cb 100644 --- a/benches/filters.rs +++ b/benches/filters.rs @@ -5,8 +5,7 @@ extern crate test; use std::path::PathBuf; -use oxipng::internal_tests::*; -use oxipng::*; +use oxipng::{internal_tests::*, *}; use test::Bencher; #[bench] diff --git a/src/headers.rs b/src/headers.rs index 43f0781a..1c3860a4 100644 --- a/src/headers.rs +++ b/src/headers.rs @@ -42,7 +42,7 @@ impl IhdrData { let bpp = self.bpp(); fn bitmap_size(bpp: usize, w: usize, h: usize) -> usize { - ((w * bpp + 7) / 8) * h + (w * bpp).div_ceil(8) * h } if self.interlaced == Interlacing::None { diff --git a/src/lib.rs b/src/lib.rs index c6775f9f..3546cc05 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -118,7 +118,7 @@ impl RawImage { // Validate data length let bpp = bit_depth as usize * color_type.channels_per_pixel() as usize; - let row_bytes = (bpp * width as usize + 7) / 8; + let row_bytes = (bpp * width as usize).div_ceil(8); let expected_len = row_bytes * height as usize; if data.len() != expected_len { return Err(PngError::IncorrectDataLength(data.len(), expected_len)); diff --git a/src/main.rs b/src/main.rs index 06ed2fd9..3299dc62 100644 --- a/src/main.rs +++ b/src/main.rs @@ -18,8 +18,9 @@ mod rayon; #[cfg(feature = "zopfli")] use std::num::NonZeroU8; -use std::process::ExitCode; -use std::{ffi::OsString, fs::DirBuilder, io::Write, path::PathBuf, time::Duration}; +use std::{ + ffi::OsString, fs::DirBuilder, io::Write, path::PathBuf, process::ExitCode, time::Duration, +}; use clap::ArgMatches; mod cli; diff --git a/src/png/scan_lines.rs b/src/png/scan_lines.rs index 3c039e4f..e91133a5 100644 --- a/src/png/scan_lines.rs +++ b/src/png/scan_lines.rs @@ -157,7 +157,7 @@ impl Iterator for ScanLineRanges { (self.width, None) }; let bits_per_line = pixels_per_line as usize * self.bits_per_pixel; - let mut len = (bits_per_line + 7) / 8; + let mut len = bits_per_line.div_ceil(8); if self.has_filter { len += 1; }