INNER CODE UNIT · Rust
trim_to_cap
TheMaxMur/RS-Key · crates/rsk-devconf/src/lib.rs:319
fn trim_to_cap(merged: &mut [u8], mut m: usize, keep: usize) -> usize {
while m > EF_DEV_CONF_MAX && m > keep {
let stored = m - keep;
let mut i = 0;
let victim = loop {
if i + 2 > stored {
break None;
}
let entry = 2 + merged[i + 1] as usize;
if i + entry > stored {
break None;
}
if merged[i] != TAG_USB_ENABLED {
break Some((i, entry));
}
i += entry;
};
// Only the policy (or a half entry) left to give: refusing the write beats