1
Fork 0
mirror of https://github.com/RGBCube/uutils-coreutils synced 2025-07-28 03:27:44 +00:00

more: Disable raw mode before exiting if a panic occurs

This commit is contained in:
Ideflop 2024-01-29 22:18:05 +01:00
parent c439f81129
commit b9112da4b2

View file

@ -8,6 +8,7 @@
use std::{
fs::File,
io::{stdin, stdout, BufReader, IsTerminal, Read, Stdout, Write},
panic::set_hook,
path::Path,
time::Duration,
};
@ -87,6 +88,13 @@ impl Options {
#[uucore::main]
pub fn uumain(args: impl uucore::Args) -> UResult<()> {
// Disable raw mode before exiting if a panic occurs
set_hook(Box::new(|panic_info| {
terminal::disable_raw_mode().unwrap();
print!("\r");
println!("{panic_info}");
}));
let matches = match uu_app().try_get_matches_from(args) {
Ok(m) => m,
Err(e) => return Err(e.into()),