feat(nix-compat/store_path): validate_name takes AsRef<[u8]>
Change-Id: I8819e2a7b63008a68f4f82035a08b960ac480dc3 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9858 Reviewed-by: flokli <flokli@flokli.de> Tested-by: BuildkiteCI
This commit is contained in:
parent
b994f692d3
commit
c19c6c23cb
2 changed files with 4 additions and 3 deletions
|
@ -177,7 +177,9 @@ impl StorePath {
|
|||
|
||||
/// Checks a given &[u8] to match the restrictions for [StorePath::name], and
|
||||
/// returns the name as string if successful.
|
||||
pub(crate) fn validate_name(s: &[u8]) -> Result<&str, Error> {
|
||||
pub(crate) fn validate_name(s: &(impl AsRef<[u8]> + ?Sized)) -> Result<&str, Error> {
|
||||
let s = s.as_ref();
|
||||
|
||||
// Empty or excessively long names are not allowed.
|
||||
if s.is_empty() || s.len() > 211 {
|
||||
return Err(Error::InvalidLength());
|
||||
|
|
|
@ -166,8 +166,7 @@ fn build_store_path_from_fingerprint_parts<B: AsRef<[u8]>>(
|
|||
hash: &NixHash,
|
||||
name: B,
|
||||
) -> Result<StorePath, Error> {
|
||||
let name = name.as_ref();
|
||||
let name = super::validate_name(name.as_ref())?.to_owned();
|
||||
let name = super::validate_name(&name)?.to_owned();
|
||||
|
||||
let digest = compress_hash(&{
|
||||
let mut h = Sha256::new();
|
||||
|
|
Loading…
Add table
Reference in a new issue