diff --git a/src/uucore/src/lib/features/tty.rs b/src/uucore/src/lib/features/tty.rs index 608de78b9..6854ba164 100644 --- a/src/uucore/src/lib/features/tty.rs +++ b/src/uucore/src/lib/features/tty.rs @@ -20,9 +20,9 @@ pub enum Teletype { impl Display for Teletype { fn fmt(&self, f: &mut Formatter) -> fmt::Result { match self { - Self::Tty(id) => write!(f, "/dev/pts/{id}"), - Self::TtyS(id) => write!(f, "/dev/tty{id}"), - Self::Pts(id) => write!(f, "/dev/ttyS{id}"), + Self::Tty(id) => write!(f, "/dev/tty{id}"), + Self::TtyS(id) => write!(f, "/dev/ttyS{id}"), + Self::Pts(id) => write!(f, "/dev/pts/{id}"), Self::Unknown => write!(f, "?"), } } @@ -32,10 +32,6 @@ impl TryFrom for Teletype { type Error = (); fn try_from(value: String) -> Result { - if value == "?" { - return Ok(Self::Unknown); - } - Self::try_from(value.as_str()) } } @@ -44,6 +40,10 @@ impl TryFrom<&str> for Teletype { type Error = (); fn try_from(value: &str) -> Result { + if value == "?" { + return Ok(Self::Unknown); + } + Self::try_from(PathBuf::from(value)) } }