From fa125e7cbe98e8e3f30180fb855f6be22054e70a Mon Sep 17 00:00:00 2001 From: ryan Date: Tue, 9 Apr 2024 19:53:15 -0400 Subject: [PATCH] keyfork-qrcode: prefer Instant over SystemTime for infallible time comparison --- Cargo.lock | 2 +- crates/qrcode/keyfork-qrcode/Cargo.toml | 2 +- crates/qrcode/keyfork-qrcode/src/lib.rs | 12 +++++------- 3 files changed, 7 insertions(+), 9 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 64df936..1b7b142 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1818,7 +1818,7 @@ dependencies = [ [[package]] name = "keyfork-qrcode" -version = "0.1.0" +version = "0.1.1" dependencies = [ "image", "keyfork-bug", diff --git a/crates/qrcode/keyfork-qrcode/Cargo.toml b/crates/qrcode/keyfork-qrcode/Cargo.toml index cb36920..c802864 100644 --- a/crates/qrcode/keyfork-qrcode/Cargo.toml +++ b/crates/qrcode/keyfork-qrcode/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "keyfork-qrcode" -version = "0.1.0" +version = "0.1.1" repository = "https://git.distrust.co/public/keyfork" edition = "2021" license = "MIT" diff --git a/crates/qrcode/keyfork-qrcode/src/lib.rs b/crates/qrcode/keyfork-qrcode/src/lib.rs index 8c2d665..3b9b168 100644 --- a/crates/qrcode/keyfork-qrcode/src/lib.rs +++ b/crates/qrcode/keyfork-qrcode/src/lib.rs @@ -5,7 +5,7 @@ use keyfork_bug as bug; use image::io::Reader as ImageReader; use std::{ io::{Cursor, Write}, - time::{Duration, SystemTime}, + time::{Duration, Instant}, process::{Command, Stdio}, }; use v4l::{ @@ -110,11 +110,10 @@ pub fn scan_camera(timeout: Duration, index: usize) -> Result, QR fmt.fourcc = FourCC::new(b"MPG1"); device.set_format(&fmt)?; let mut stream = Stream::with_buffers(&device, Type::VideoCapture, 4)?; - let start = SystemTime::now(); + let start = Instant::now(); - while SystemTime::now() + while Instant::now() .duration_since(start) - .unwrap_or(Duration::from_secs(0)) < timeout { let (buffer, _) = stream.next()?; @@ -141,12 +140,11 @@ pub fn scan_camera(timeout: Duration, index: usize) -> Result, QR fmt.fourcc = FourCC::new(b"MPG1"); device.set_format(&fmt)?; let mut stream = Stream::with_buffers(&device, Type::VideoCapture, 4)?; - let start = SystemTime::now(); + let start = Instant::now(); let mut scanner = keyfork_zbar::image_scanner::ImageScanner::new(); - while SystemTime::now() + while Instant::now() .duration_since(start) - .unwrap_or(Duration::from_secs(0)) < timeout { let (buffer, _) = stream.next()?;