diff --git a/src/uucore/src/lib/features/parser/parse_size.rs b/src/uucore/src/lib/features/parser/parse_size.rs index da67a7602..f6f0f1399 100644 --- a/src/uucore/src/lib/features/parser/parse_size.rs +++ b/src/uucore/src/lib/features/parser/parse_size.rs @@ -361,6 +361,15 @@ pub fn parse_size_u64(size: &str) -> Result { Parser::default().parse_u64(size) } +/// Same as `parse_size_u64()`, except 0 fails to parse +pub fn parse_size_non_zero_u64(size: &str) -> Result { + let v = Parser::default().parse_u64(size)?; + if v == 0 { + return Err(ParseSizeError::ParseFailure("0".to_string())); + } + Ok(v) +} + /// Same as `parse_size_u64()` - deprecated #[deprecated = "Please use parse_size_u64(size: &str) -> Result OR parse_size_u128(size: &str) -> Result instead."] pub fn parse_size(size: &str) -> Result {