From a402b5e3a5cd7d8a68d668b07021528490752621 Mon Sep 17 00:00:00 2001 From: Alexandra Date: Tue, 8 Apr 2025 20:10:21 +0200 Subject: [PATCH] mcookie: fix max size option --- src/uu/mcookie/src/mcookie.rs | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/uu/mcookie/src/mcookie.rs b/src/uu/mcookie/src/mcookie.rs index 843f05b..997ca22 100644 --- a/src/uu/mcookie/src/mcookie.rs +++ b/src/uu/mcookie/src/mcookie.rs @@ -29,6 +29,9 @@ mod options { const ABOUT: &str = help_about!("mcookie.md"); const USAGE: &str = help_usage!("mcookie.md"); +const RANDOM_BYTES: usize = 128; +const MAX_DEFAULT: u64 = 4096; + #[uucore::main] pub fn uumain(args: impl uucore::Args) -> UResult<()> { let matches: clap::ArgMatches = uu_app().try_get_matches_from(args)?; @@ -43,13 +46,19 @@ pub fn uumain(args: impl uucore::Args) -> UResult<()> { let max_size = if let Some(size_str) = matches.get_one::(options::MAX_SIZE) { match Size::parse(size_str) { - Ok(size) => Some(size.size_bytes()), + Ok(size) => { + let mut s = size.size_bytes(); + if s == 0 { + s = MAX_DEFAULT; + } + Some(s) + } Err(_) => { return Err(USimpleError::new(1, "Failed to parse max-size value")); } } } else { - None + Some(MAX_DEFAULT) }; let mut hasher = Md5::new(); @@ -107,7 +116,6 @@ pub fn uumain(args: impl uucore::Args) -> UResult<()> { hasher.update(&buffer); } - const RANDOM_BYTES: usize = 128; let mut rng = rand::rng(); let mut rand_bytes = [0u8; RANDOM_BYTES]; rng.fill_bytes(&mut rand_bytes);