On Mon, Aug 28, 2017 at 03:54:38PM +0700, Nikolay Marchuk wrote: > This change introduces new filtering architecture primitives: filter, > filter_action and bool_expression. Filtering is now done after decoding of > syscall and tcp->qual_flg stores filtering results. > > * basic_actions.c: New file. > * filter_action.c: Likewise. > * filter_expression.c: Likewise. > * filter.c: Likewise. > * basic_filters.c (parse_syscall_filter, run_syscall_filter, > free_syscall_filter): New functions. > * defs.h (filter_syscall, filtering_parsing_finish): Add new declarations. > * filter.h: Add new declarations. > * filter_qualify.c (abbrev_set, raw_set, trace_set, verbose_set): > Remove set variables. > (qualify_trace, qualify_abbrev, qualify_verbose, qualify_raw): > Use new filtering API. > (qual_flags): Remove QUAL_* flags for trace, abbrev, verbose, raw. > * strace.c (init): Call filtering_parse_finish after command line parsing. > (trace_syscall): Add filtering after syscall decoding. > * Makefile.am (strace_SOURCES): Add new files. [...] > --- a/defs.h > +++ b/defs.h > @@ -648,6 +648,8 @@ extern void print_ifindex(unsigned int); > > extern void qualify(const char *); > extern unsigned int qual_flags(const unsigned int); > +extern void filtering_parsing_finish(void);
What an unusual name for a function. What's this function expected to do?
[...]
> +void
> +set_filters_qualify_mode(struct filter **filters, unsigned int *nfilters,
> + unsigned int filters_left)
As *filters and nfilters are tightly coupled,
I'd recommend creating a type that would hold both
"struct filter *filters" and "unsigned int nfilters",
and pass a pointer to this type instead of two pointers.
This set_filters_qualify_mode looks like a generic function,
what does it have to do with qualify mode?
> +{
> + unsigned int i;
> +
> + for (i = 0; i < *nfilters - filters_left; ++i)
> + free_filter(*filters + i);
> + for (i = 0; i < filters_left; ++i)
> + (*filters)[i] = (*filters)[*nfilters - filters_left + i];
memmove?
--
ldv
signature.asc
Description: PGP signature
------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________ Strace-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/strace-devel
