MCPcopy Create free account
hub / github.com/bootc-dev/bootc / parse_mode

Function parse_mode

crates/ostree-ext/src/fixture.rs:111–125  ·  view source on GitHub ↗
(line: &str)

Source from the content-addressed store, hash-verified

109}
110
111fn parse_mode(line: &str) -> Result<(u32, u32, u32)> {
112 let mut parts = line.split(' ').skip(1);
113 // An empty mode resets to defaults
114 let uid = if let Some(u) = parts.next() {
115 u
116 } else {
117 return Ok((0, 0, 0o644));
118 };
119 let gid = parts.next().ok_or_else(|| anyhow!("Missing gid"))?;
120 let mode = parts.next().ok_or_else(|| anyhow!("Missing mode"))?;
121 if parts.next().is_some() {
122 anyhow::bail!("Invalid mode: {}", line);
123 }
124 Ok((uid.parse()?, gid.parse()?, u32::from_str_radix(mode, 8)?))
125}
126
127impl FileDef {
128 /// Parse a list of newline-separated file definitions.

Callers 1

iter_fromMethod · 0.85

Calls 2

nextMethod · 0.45
parseMethod · 0.45

Tested by

no test coverage detected