scheme-utils: Have FpathWriter handle writing the scheme name

This commit is contained in:
bjorn3
2026-04-19 14:49:11 +02:00
parent 64d23e9e05
commit daf726c30d
24 changed files with 58 additions and 73 deletions
+17 -1
View File
@@ -81,8 +81,24 @@ pub struct FpathWriter<'a> {
}
impl<'a> FpathWriter<'a> {
pub fn with(buf: &'a mut [u8], f: impl FnOnce(&mut Self) -> Result<()>) -> Result<usize> {
pub fn with(
buf: &'a mut [u8],
scheme_name: &str,
f: impl FnOnce(&mut Self) -> Result<()>,
) -> Result<usize> {
let mut w = FpathWriter { buf, written: 0 };
write!(w, "/scheme/{scheme_name}/").unwrap();
f(&mut w)?;
Ok(w.written)
}
pub fn with_legacy(
buf: &'a mut [u8],
scheme_name: &str,
f: impl FnOnce(&mut Self) -> Result<()>,
) -> Result<usize> {
let mut w = FpathWriter { buf, written: 0 };
write!(w, "{scheme_name}:").unwrap();
f(&mut w)?;
Ok(w.written)
}