git.delta.rocks / fleet / refs/commits / 5250aa0549c3

difftreelog

feat move extra args to NIX_ARGS env

Yaroslav Bolyukin2023-10-29parent: #19e4a93.patch.diff

1 file changed

addedcmds/fleet/src/extra_args.rsdiffbeforeafterboth
after · cmds/fleet/src/extra_args.rs
1use anyhow::anyhow;2use anyhow::Result;3use std::ffi::{OsStr, OsString};45pub fn parse_os(os: &OsStr) -> Result<Vec<OsString>> {6	Ok(shlex::bytes::split(os.as_encoded_bytes())7		.ok_or_else(|| anyhow!("invalid arguments"))?8		.into_iter()9		.map(|a| {10			// Unpaired surrogates are not touched11			unsafe { OsString::from_encoded_bytes_unchecked(a) }12		})13		.collect())14}15pub fn parse(s: &str) -> Result<Vec<OsString>> {16	let osstr = OsString::try_from(s)?;17	parse_os(&osstr)18}