aya-bpf-macros: Use pop_bool_arg for XDP

Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
reviewable/pr711/r18
Dave Tucker 2 years ago
parent 2fbee745a1
commit 8d4fc82734

@ -1,9 +1,10 @@
use std::borrow::Cow; use std::borrow::Cow;
use proc_macro2::TokenStream; use proc_macro2::TokenStream;
use proc_macro_error::abort;
use quote::quote; use quote::quote;
use syn::{Ident, ItemFn, Result}; use syn::{ItemFn, Result};
use crate::args::{err_on_unknown_args, pop_bool_arg, Args};
pub(crate) struct Xdp { pub(crate) struct Xdp {
item: ItemFn, item: ItemFn,
@ -12,15 +13,10 @@ pub(crate) struct Xdp {
impl Xdp { impl Xdp {
pub(crate) fn parse(attrs: TokenStream, item: TokenStream) -> Result<Xdp> { pub(crate) fn parse(attrs: TokenStream, item: TokenStream) -> Result<Xdp> {
let mut frags = false;
let item = syn::parse2(item)?; let item = syn::parse2(item)?;
if !attrs.is_empty() { let mut args: Args = syn::parse2(attrs)?;
let ident: Ident = syn::parse2(attrs)?; let frags = pop_bool_arg(&mut args, "frags");
if ident != "frags" { err_on_unknown_args(&args)?;
abort!(ident, "unexpected attribute");
}
frags = true;
}
Ok(Xdp { item, frags }) Ok(Xdp { item, frags })
} }

Loading…
Cancel
Save