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

Merge pull request #7743 from evilpie/tty-fixes

Fix the implementation of Display and TryFrom<&str> for Teletype
This commit is contained in:
Sylvestre Ledru 2025-04-13 11:35:41 +02:00 committed by GitHub
commit 907d3ffef9
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

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