use alloc::string::String;
use core::fmt::{Display, Formatter};
#[derive(Clone, Debug)]
pub enum User {
ByName { name: String, group: Option<String> },
ById { uid: usize, gid: Option<usize> },
}
impl Display for User {
fn fmt(&self, f: &mut Formatter<'_>) -> core::fmt::Result {
match self {
User::ByName { name, group } => {
if let Some(group) = group {
write!(f, "USER {}:{}", name, group)
} else {
write!(f, "USER {}", name)
}
}
User::ById { uid, gid } => {
if let Some(gid) = gid {
write!(f, "USER {}:{}", uid, gid)
} else {
write!(f, "USER {}", uid)
}
}
}
}
}