diff --git a/Cargo.lock b/Cargo.lock index fd2385a64..8742a8092 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -67,7 +67,7 @@ version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" dependencies = [ - "hermit-abi", + "hermit-abi 0.1.19", "libc", "winapi", ] @@ -293,7 +293,7 @@ dependencies = [ "lazy_static", "libc", "unicode-width", - "windows-sys", + "windows-sys 0.42.0", ] [[package]] @@ -321,7 +321,6 @@ checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc" name = "coreutils" version = "0.0.17" dependencies = [ - "atty", "chrono", "clap", "clap_complete", @@ -329,6 +328,7 @@ dependencies = [ "filetime", "glob", "hex-literal", + "is-terminal", "libc", "nix", "once_cell", @@ -635,7 +635,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1631ca6e3c59112501a9d87fd86f21591ff77acd31331e8a73f8d80a65bbdd71" dependencies = [ "nix", - "windows-sys", + "windows-sys 0.42.0", ] [[package]] @@ -834,7 +834,7 @@ dependencies = [ "cfg-if", "libc", "redox_syscall", - "windows-sys", + "windows-sys 0.42.0", ] [[package]] @@ -1045,6 +1045,12 @@ dependencies = [ "libc", ] +[[package]] +name = "hermit-abi" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286" + [[package]] name = "hex" version = "0.4.3" @@ -1139,6 +1145,28 @@ version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "59ce5ef949d49ee85593fc4d3f3f95ad61657076395cbbce23e2121fc5542074" +[[package]] +name = "io-lifetimes" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1abeb7a0dd0f8181267ff8adc397075586500b81b28a73e8a0208b00fc170fb3" +dependencies = [ + "libc", + "windows-sys 0.45.0", +] + +[[package]] +name = "is-terminal" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22e18b0a45d56fe973d6db23972bf5bc46f988a4a2385deac9cc29572f09daef" +dependencies = [ + "hermit-abi 0.3.1", + "io-lifetimes 1.0.5", + "rustix 0.36.8", + "windows-sys 0.45.0", +] + [[package]] name = "itertools" version = "0.10.5" @@ -1235,6 +1263,12 @@ version = "0.0.46" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d4d2456c373231a208ad294c33dc5bff30051eafd954cd4caae83a712b12854d" +[[package]] +name = "linux-raw-sys" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4" + [[package]] name = "lock_api" version = "0.4.9" @@ -1326,7 +1360,7 @@ dependencies = [ "libc", "log", "wasi", - "windows-sys", + "windows-sys 0.42.0", ] [[package]] @@ -1415,7 +1449,7 @@ version = "1.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f6058e64324c71e02bc2b150e4f3bc8286db6c83092132ffa3f6b1eab0f9def5" dependencies = [ - "hermit-abi", + "hermit-abi 0.1.19", "libc", ] @@ -1545,7 +1579,7 @@ dependencies = [ "libc", "redox_syscall", "smallvec", - "windows-sys", + "windows-sys 0.42.0", ] [[package]] @@ -1693,7 +1727,7 @@ dependencies = [ "byteorder", "hex", "lazy_static", - "rustix", + "rustix 0.35.13", ] [[package]] @@ -1899,10 +1933,24 @@ checksum = "727a1a6d65f786ec22df8a81ca3121107f235970dc1705ed681d3e6e8b9cd5f9" dependencies = [ "bitflags", "errno", - "io-lifetimes", + "io-lifetimes 0.7.5", "libc", - "linux-raw-sys", - "windows-sys", + "linux-raw-sys 0.0.46", + "windows-sys 0.42.0", +] + +[[package]] +name = "rustix" +version = "0.36.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f43abb88211988493c1abb44a70efa56ff0ce98f233b7b276146f1f3f7ba9644" +dependencies = [ + "bitflags", + "errno", + "io-lifetimes 1.0.5", + "libc", + "linux-raw-sys 0.1.4", + "windows-sys 0.45.0", ] [[package]] @@ -2161,8 +2209,8 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "40ca90c434fd12083d1a6bdcbe9f92a14f96c8a1ba600ba451734ac334521f7a" dependencies = [ - "rustix", - "windows-sys", + "rustix 0.35.13", + "windows-sys 0.42.0", ] [[package]] @@ -2334,8 +2382,8 @@ dependencies = [ name = "uu_cat" version = "0.0.17" dependencies = [ - "atty", "clap", + "is-terminal", "nix", "thiserror", "uucore", @@ -2432,9 +2480,9 @@ dependencies = [ name = "uu_cut" version = "0.0.17" dependencies = [ - "atty", "bstr", "clap", + "is-terminal", "memchr", "uucore", ] @@ -2447,7 +2495,7 @@ dependencies = [ "clap", "libc", "uucore", - "windows-sys", + "windows-sys 0.42.0", ] [[package]] @@ -2503,7 +2551,7 @@ dependencies = [ "clap", "glob", "uucore", - "windows-sys", + "windows-sys 0.42.0", ] [[package]] @@ -2634,7 +2682,7 @@ dependencies = [ "clap", "hostname", "uucore", - "windows-sys", + "windows-sys 0.42.0", ] [[package]] @@ -2705,10 +2753,10 @@ dependencies = [ name = "uu_ls" version = "0.0.17" dependencies = [ - "atty", "chrono", "clap", "glob", + "is-terminal", "lscolors", "number_prefix", "once_cell", @@ -2759,9 +2807,9 @@ dependencies = [ name = "uu_more" version = "0.0.17" dependencies = [ - "atty", "clap", "crossterm", + "is-terminal", "nix", "unicode-segmentation", "unicode-width", @@ -2801,8 +2849,8 @@ dependencies = [ name = "uu_nohup" version = "0.0.17" dependencies = [ - "atty", "clap", + "is-terminal", "libc", "uucore", ] @@ -2936,7 +2984,7 @@ dependencies = [ "libc", "uucore", "walkdir", - "windows-sys", + "windows-sys 0.42.0", ] [[package]] @@ -3079,7 +3127,7 @@ dependencies = [ "libc", "nix", "uucore", - "windows-sys", + "windows-sys 0.42.0", ] [[package]] @@ -3097,16 +3145,16 @@ dependencies = [ name = "uu_tail" version = "0.0.17" dependencies = [ - "atty", "clap", "fundu", + "is-terminal", "libc", "memchr", "notify", "same-file", "uucore", "winapi-util", - "windows-sys", + "windows-sys 0.42.0", ] [[package]] @@ -3146,7 +3194,7 @@ dependencies = [ "filetime", "time", "uucore", - "windows-sys", + "windows-sys 0.42.0", ] [[package]] @@ -3186,8 +3234,8 @@ dependencies = [ name = "uu_tty" version = "0.0.17" dependencies = [ - "atty", "clap", + "is-terminal", "nix", "uucore", ] @@ -3282,7 +3330,7 @@ dependencies = [ "clap", "libc", "uucore", - "windows-sys", + "windows-sys 0.42.0", ] [[package]] @@ -3316,7 +3364,7 @@ dependencies = [ "walkdir", "wild", "winapi-util", - "windows-sys", + "windows-sys 0.42.0", "z85", ] @@ -3478,46 +3526,70 @@ dependencies = [ ] [[package]] -name = "windows_aarch64_gnullvm" -version = "0.42.0" +name = "windows-sys" +version = "0.45.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41d2aa71f6f0cbe00ae5167d90ef3cfe66527d6f613ca78ac8024c3ccab9a19e" +checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" +dependencies = [ + "windows-targets", +] + +[[package]] +name = "windows-targets" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e2522491fbfcd58cc84d47aeb2958948c4b8982e9a2d8a2a35bbaed431390e7" +dependencies = [ + "windows_aarch64_gnullvm", + "windows_aarch64_msvc", + "windows_i686_gnu", + "windows_i686_msvc", + "windows_x86_64_gnu", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c9864e83243fdec7fc9c5444389dcbbfd258f745e7853198f365e3c4968a608" [[package]] name = "windows_aarch64_msvc" -version = "0.42.0" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd0f252f5a35cac83d6311b2e795981f5ee6e67eb1f9a7f64eb4500fbc4dcdb4" +checksum = "4c8b1b673ffc16c47a9ff48570a9d85e25d265735c503681332589af6253c6c7" [[package]] name = "windows_i686_gnu" -version = "0.42.0" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbeae19f6716841636c28d695375df17562ca208b2b7d0dc47635a50ae6c5de7" +checksum = "de3887528ad530ba7bdbb1faa8275ec7a1155a45ffa57c37993960277145d640" [[package]] name = "windows_i686_msvc" -version = "0.42.0" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84c12f65daa39dd2babe6e442988fc329d6243fdce47d7d2d155b8d874862246" +checksum = "bf4d1122317eddd6ff351aa852118a2418ad4214e6613a50e0191f7004372605" [[package]] name = "windows_x86_64_gnu" -version = "0.42.0" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf7b1b21b5362cbc318f686150e5bcea75ecedc74dd157d874d754a2ca44b0ed" +checksum = "c1040f221285e17ebccbc2591ffdc2d44ee1f9186324dd3e84e99ac68d699c45" [[package]] name = "windows_x86_64_gnullvm" -version = "0.42.0" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09d525d2ba30eeb3297665bd434a54297e4170c7f1a44cad4ef58095b4cd2028" +checksum = "628bfdf232daa22b0d64fdb62b09fcc36bb01f05a3939e20ab73aaf9470d0463" [[package]] name = "windows_x86_64_msvc" -version = "0.42.0" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f40009d85759725a34da6d89a94e63d7bdc50a862acf0dbc7c8e488f1edcb6f5" +checksum = "447660ad36a13288b1db4d4248e857b510e8c3a225c822ba4fb748c0aafecffd" [[package]] name = "xattr" diff --git a/Cargo.toml b/Cargo.toml index ebd8685ca..61d6db205 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -263,7 +263,6 @@ feat_os_windows_legacy = [ test = [ "uu_test" ] [workspace.dependencies] -atty = "0.2" bigdecimal = "0.3" binary-heap-plus = "0.5.0" bstr = "1.0" @@ -287,6 +286,7 @@ gcd = "2.2" glob = "0.3.0" half = "2.1" indicatif = "0.17" +is-terminal = "0.4.3" itertools = "0.10.0" libc = "0.2.139" lscolors = { version = "0.13.0", default-features=false, features = ["nu-ansi-term"] } @@ -476,7 +476,7 @@ time = { workspace=true, features=["local-offset"] } unindent = "0.1" uucore = { workspace=true, features=["entries", "process", "signals"] } walkdir = { workspace=true } -atty = { workspace=true } +is-terminal = { workspace=true } hex-literal = "0.3.1" rstest = "0.16.0" diff --git a/deny.toml b/deny.toml index 20995c936..aa05cdf3e 100644 --- a/deny.toml +++ b/deny.toml @@ -58,12 +58,24 @@ highlight = "all" # For each duplicate dependency, indicate the name of the dependency which # introduces it. # spell-checker: disable -skip = [] +skip = [ + # is-terminal + { name = "hermit-abi", version = "0.3.1" }, + # is-terminal + { name = "rustix", version = "0.36.8" }, + # is-terminal (via rustix) + { name = "io-lifetimes", version = "1.0.5" }, + # is-terminal + { name = "linux-raw-sys", version = "0.1.4" }, + # is-terminal + { name = "windows-sys", version = "0.45.0" }, +] # spell-checker: enable # This section is considered when running `cargo deny check sources`. # More documentation about the 'sources' section can be found here: # https://embarkstudios.github.io/cargo-deny/checks/sources/cfg.html + [sources] unknown-registry = "warn" unknown-git = "warn" diff --git a/src/uu/cat/Cargo.toml b/src/uu/cat/Cargo.toml index e707c6db0..fbf91c249 100644 --- a/src/uu/cat/Cargo.toml +++ b/src/uu/cat/Cargo.toml @@ -17,7 +17,7 @@ path = "src/cat.rs" [dependencies] clap = { workspace=true } thiserror = { workspace = true } -atty = { workspace=true } +is-terminal = { workspace = true } uucore = { workspace=true, features=["fs", "pipes"] } [target.'cfg(unix)'.dependencies] diff --git a/src/uu/cat/src/cat.rs b/src/uu/cat/src/cat.rs index 85a626d5b..e90bdd116 100644 --- a/src/uu/cat/src/cat.rs +++ b/src/uu/cat/src/cat.rs @@ -12,6 +12,7 @@ // last synced with: cat (GNU coreutils) 8.13 use clap::{crate_version, Arg, ArgAction, Command}; +use is_terminal::IsTerminal; use std::fs::{metadata, File}; use std::io::{self, Read, Write}; use thiserror::Error; @@ -332,7 +333,7 @@ fn cat_path( let stdin = io::stdin(); let mut handle = InputHandle { reader: stdin, - is_interactive: atty::is(atty::Stream::Stdin), + is_interactive: std::io::stdin().is_terminal(), }; cat_handle(&mut handle, options, state) } diff --git a/src/uu/cut/Cargo.toml b/src/uu/cut/Cargo.toml index f680b67e5..8a5e8f1d2 100644 --- a/src/uu/cut/Cargo.toml +++ b/src/uu/cut/Cargo.toml @@ -19,7 +19,7 @@ clap = { workspace=true } uucore = { workspace=true } memchr = { workspace=true } bstr = { workspace=true } -atty = { workspace=true } +is-terminal = { workspace=true } [[bin]] name = "cut" diff --git a/src/uu/cut/src/cut.rs b/src/uu/cut/src/cut.rs index 9db114fb2..105449cbc 100644 --- a/src/uu/cut/src/cut.rs +++ b/src/uu/cut/src/cut.rs @@ -9,6 +9,7 @@ use bstr::io::BufReadExt; use clap::{crate_version, Arg, ArgAction, Command}; +use is_terminal::IsTerminal; use std::fs::File; use std::io::{stdin, stdout, BufReader, BufWriter, Read, Write}; use std::path::Path; @@ -136,7 +137,7 @@ enum Mode { } fn stdout_writer() -> Box { - if atty::is(atty::Stream::Stdout) { + if std::io::stdout().is_terminal() { Box::new(stdout()) } else { Box::new(BufWriter::new(stdout())) as Box diff --git a/src/uu/ls/Cargo.toml b/src/uu/ls/Cargo.toml index ade9c5e29..7c7add294 100644 --- a/src/uu/ls/Cargo.toml +++ b/src/uu/ls/Cargo.toml @@ -25,7 +25,7 @@ glob = { workspace=true } lscolors = { workspace=true } uucore = { workspace=true, features = ["entries", "fs"] } once_cell = { workspace=true } -atty = { workspace=true } +is-terminal = { workspace=true } selinux = { workspace=true, optional = true } [[bin]] diff --git a/src/uu/ls/src/ls.rs b/src/uu/ls/src/ls.rs index 965248495..abf05676f 100644 --- a/src/uu/ls/src/ls.rs +++ b/src/uu/ls/src/ls.rs @@ -12,6 +12,7 @@ use clap::{ crate_version, Arg, ArgAction, Command, }; use glob::{MatchOptions, Pattern}; +use is_terminal::IsTerminal; use lscolors::LsColors; use number_prefix::NumberPrefix; use once_cell::unsync::OnceCell; @@ -451,7 +452,7 @@ impl Config { (Format::Commas, Some(options::format::COMMAS)) } else if options.get_flag(options::format::COLUMNS) { (Format::Columns, Some(options::format::COLUMNS)) - } else if atty::is(atty::Stream::Stdout) { + } else if std::io::stdout().is_terminal() { (Format::Columns, None) } else { (Format::OneLine, None) @@ -557,7 +558,7 @@ impl Config { None => options.contains_id(options::COLOR), Some(val) => match val.as_str() { "" | "always" | "yes" | "force" => true, - "auto" | "tty" | "if-tty" => atty::is(atty::Stream::Stdout), + "auto" | "tty" | "if-tty" => std::io::stdout().is_terminal(), /* "never" | "no" | "none" | */ _ => false, }, }; @@ -678,7 +679,7 @@ impl Config { } else if options.get_flag(options::SHOW_CONTROL_CHARS) { true } else { - !atty::is(atty::Stream::Stdout) + !std::io::stdout().is_terminal() }; let opt_quoting_style = options @@ -750,7 +751,7 @@ impl Config { "never" | "no" | "none" => IndicatorStyle::None, "always" | "yes" | "force" => IndicatorStyle::Classify, "auto" | "tty" | "if-tty" => { - if atty::is(atty::Stream::Stdout) { + if std::io::stdout().is_terminal() { IndicatorStyle::Classify } else { IndicatorStyle::None diff --git a/src/uu/more/Cargo.toml b/src/uu/more/Cargo.toml index 416a2359b..01bb96183 100644 --- a/src/uu/more/Cargo.toml +++ b/src/uu/more/Cargo.toml @@ -18,7 +18,7 @@ path = "src/more.rs" clap = { workspace=true } uucore = { workspace=true } crossterm = { workspace=true } -atty = { workspace=true } +is-terminal = { workspace=true } unicode-width = { workspace=true } unicode-segmentation = { workspace=true } diff --git a/src/uu/more/src/more.rs b/src/uu/more/src/more.rs index 0309ad33e..31b1640a2 100644 --- a/src/uu/more/src/more.rs +++ b/src/uu/more/src/more.rs @@ -23,6 +23,7 @@ use crossterm::{ terminal, }; +use is_terminal::IsTerminal; use unicode_segmentation::UnicodeSegmentation; use unicode_width::UnicodeWidthStr; use uucore::display::Quotable; @@ -83,7 +84,7 @@ pub fn uumain(args: impl uucore::Args) -> UResult<()> { buff.clear(); } reset_term(&mut stdout); - } else if atty::isnt(atty::Stream::Stdin) { + } else if !std::io::stdin().is_terminal() { stdin().read_to_string(&mut buff).unwrap(); let mut stdout = setup_term(); more(&buff, &mut stdout, None, silent)?; diff --git a/src/uu/nohup/Cargo.toml b/src/uu/nohup/Cargo.toml index 9a6b4af43..f35869506 100644 --- a/src/uu/nohup/Cargo.toml +++ b/src/uu/nohup/Cargo.toml @@ -17,7 +17,7 @@ path = "src/nohup.rs" [dependencies] clap = { workspace=true } libc = { workspace=true } -atty = { workspace=true } +is-terminal = { workspace=true } uucore = { workspace=true, features=["fs"] } [[bin]] diff --git a/src/uu/nohup/src/nohup.rs b/src/uu/nohup/src/nohup.rs index 789888ea4..d00ef4931 100644 --- a/src/uu/nohup/src/nohup.rs +++ b/src/uu/nohup/src/nohup.rs @@ -8,6 +8,7 @@ // spell-checker:ignore (ToDO) execvp SIGHUP cproc vprocmgr cstrs homeout use clap::{crate_version, Arg, ArgAction, Command}; +use is_terminal::IsTerminal; use libc::{c_char, dup2, execvp, signal}; use libc::{SIGHUP, SIG_IGN}; use std::env; @@ -129,7 +130,7 @@ pub fn uu_app() -> Command { } fn replace_fds() -> UResult<()> { - if atty::is(atty::Stream::Stdin) { + if std::io::stdin().is_terminal() { let new_stdin = File::open(Path::new("/dev/null")) .map_err(|e| NohupError::CannotReplace("STDIN", e))?; if unsafe { dup2(new_stdin.as_raw_fd(), 0) } != 0 { @@ -137,7 +138,7 @@ fn replace_fds() -> UResult<()> { } } - if atty::is(atty::Stream::Stdout) { + if std::io::stdout().is_terminal() { let new_stdout = find_stdout()?; let fd = new_stdout.as_raw_fd(); @@ -146,7 +147,7 @@ fn replace_fds() -> UResult<()> { } } - if atty::is(atty::Stream::Stderr) && unsafe { dup2(1, 2) } != 2 { + if std::io::stderr().is_terminal() && unsafe { dup2(1, 2) } != 2 { return Err(NohupError::CannotReplace("STDERR", Error::last_os_error()).into()); } Ok(()) diff --git a/src/uu/tail/Cargo.toml b/src/uu/tail/Cargo.toml index bd16132ea..88b82a8e6 100644 --- a/src/uu/tail/Cargo.toml +++ b/src/uu/tail/Cargo.toml @@ -22,7 +22,7 @@ memchr = { workspace=true } notify = { workspace=true } uucore = { workspace=true } same-file = { workspace=true } -atty = { workspace=true } +is-terminal = { workspace=true } fundu = { workspace=true } [target.'cfg(windows)'.dependencies] diff --git a/src/uu/tail/src/args.rs b/src/uu/tail/src/args.rs index bfc314185..0807aa912 100644 --- a/src/uu/tail/src/args.rs +++ b/src/uu/tail/src/args.rs @@ -7,10 +7,10 @@ use crate::paths::Input; use crate::{parse, platform, Quotable}; -use atty::Stream; use clap::crate_version; use clap::{parser::ValueSource, Arg, ArgAction, ArgMatches, Command}; use fundu::DurationParser; +use is_terminal::IsTerminal; use same_file::Handle; use std::collections::VecDeque; use std::ffi::OsString; @@ -274,7 +274,7 @@ impl Settings { .map_or(false, |meta| !meta.is_file()) }); - if !blocking_stdin && atty::is(Stream::Stdin) { + if !blocking_stdin && std::io::stdin().is_terminal() { show_warning!("following standard input indefinitely is ineffective"); } } diff --git a/src/uu/tty/Cargo.toml b/src/uu/tty/Cargo.toml index 34eb84570..ee7fe559b 100644 --- a/src/uu/tty/Cargo.toml +++ b/src/uu/tty/Cargo.toml @@ -17,7 +17,7 @@ path = "src/tty.rs" [dependencies] clap = { workspace=true } nix = { workspace=true, features=["term"] } -atty = { workspace=true } +is-terminal = { workspace=true } uucore = { workspace=true, features=["fs"] } [[bin]] diff --git a/src/uu/tty/src/tty.rs b/src/uu/tty/src/tty.rs index ad41c323c..e3fc0451e 100644 --- a/src/uu/tty/src/tty.rs +++ b/src/uu/tty/src/tty.rs @@ -10,6 +10,7 @@ // spell-checker:ignore (ToDO) ttyname filedesc use clap::{crate_version, Arg, ArgAction, Command}; +use is_terminal::IsTerminal; use std::io::Write; use std::os::unix::io::AsRawFd; use uucore::error::{set_exit_code, UResult}; @@ -30,7 +31,7 @@ pub fn uumain(args: impl uucore::Args) -> UResult<()> { // If silent, we don't need the name, only whether or not stdin is a tty. if silent { - return if atty::is(atty::Stream::Stdin) { + return if std::io::stdin().is_terminal() { Ok(()) } else { Err(1.into()) diff --git a/tests/by-util/test_more.rs b/tests/by-util/test_more.rs index 5c2b3c0f6..b3a1522f6 100644 --- a/tests/by-util/test_more.rs +++ b/tests/by-util/test_more.rs @@ -1,9 +1,10 @@ use crate::common::util::*; +use is_terminal::IsTerminal; #[test] fn test_more_no_arg() { // Reading from stdin is now supported, so this must succeed - if atty::is(atty::Stream::Stdout) { + if std::io::stdout().is_terminal() { new_ucmd!().succeeds(); } else { } @@ -14,7 +15,7 @@ fn test_more_dir_arg() { // Run the test only if there's a valid terminal, else do nothing // Maybe we could capture the error, i.e. "Device not found" in that case // but I am leaving this for later - if atty::is(atty::Stream::Stdout) { + if std::io::stdout().is_terminal() { new_ucmd!() .arg(".") .fails()