aya: avoid an allocation

str::rsplitn(2, c) is a special case that can be expressed as
str::rsplit_once(c).
pull/665/head
Tamir Duberstein 1 year ago
parent d71d1e1993
commit 6f2a8c8a5c
No known key found for this signature in database

@ -378,12 +378,11 @@ impl FromStr for ProgramSection {
// parse the common case, eg "xdp/program_name" or
// "sk_skb/stream_verdict/program_name"
let mut parts = section.rsplitn(2, '/').collect::<Vec<_>>();
if parts.len() == 1 {
parts.push(parts[0]);
}
let kind = parts[1];
let name = parts[0].to_owned();
let (kind, name) = match section.rsplit_once('/') {
None => (section, section),
Some((kind, name)) => (kind, name),
};
let name = name.to_owned();
Ok(match kind {
"kprobe" => KProbe { name },

Loading…
Cancel
Save