1
Fork 0
mirror of https://github.com/RGBCube/uutils-coreutils synced 2025-07-28 19:47:45 +00:00

Fix type-error when calling parse_size from stdbuf

This commit is contained in:
Omer Tuchfeld 2022-02-06 22:15:27 +01:00
parent 468ff8f0b9
commit e9adf979d9

View file

@ -11,7 +11,7 @@
extern crate uucore;
use clap::{crate_version, App, AppSettings, Arg, ArgMatches};
use std::convert::TryFrom;
use std::convert::{TryFrom, TryInto};
use std::fs::File;
use std::io::{self, Write};
use std::os::unix::process::ExitStatusExt;
@ -117,7 +117,14 @@ fn check_option(matches: &ArgMatches, name: &str) -> Result<BufferType, ProgramO
}
x => parse_size(x).map_or_else(
|e| crash!(125, "invalid mode {}", e),
|m| Ok(BufferType::Size(m)),
|m| {
Ok(BufferType::Size(m.try_into().map_err(|_| {
ProgramOptionsError(format!(
"invalid mode {}: Value too large for defined data type",
x
))
})?))
},
),
},
None => Ok(BufferType::Default),