Thank you Mathieu! I will make these changes and resubmit this one patch. Cheers, JP
-----Original Message----- From: Mathieu Desnoyers [mailto:[email protected]] Sent: 13. marraskuuta 2013 16:05 To: Ikaheimonen, JP Cc: [email protected] Subject: Re: [lttng-dev] [PATCH lttng-ust 7/7] Add a check against excluders ----- Original Message ----- > From: "JP Ikaheimonen" <[email protected]> > To: [email protected] > Sent: Thursday, November 7, 2013 5:22:35 AM > Subject: [lttng-dev] [PATCH lttng-ust 7/7] Add a check against > excluders > > When matching enablers with events, first check against all excluders > of the enabler. If the event matches with any of the excluders, then > the event does not match with the enabler. > > Signed-off-by: JP Ikaheimonen <[email protected]> > --- > liblttng-ust/lttng-events.c | 23 +++++++++++++++++++++++ > 1 file changed, 23 insertions(+) > > diff --git a/liblttng-ust/lttng-events.c b/liblttng-ust/lttng-events.c > index 915cffb..fa5596c 100644 > --- a/liblttng-ust/lttng-events.c > +++ b/liblttng-ust/lttng-events.c > @@ -491,6 +491,29 @@ static > int lttng_desc_match_enabler(const struct lttng_event_desc *desc, > struct lttng_enabler *enabler) > { > + struct lttng_ust_excluder_node *excluder; > + > + /* If event matches with an excluder, return 'does not match' */ > + cds_list_for_each_entry(excluder, &enabler->excluder_head, node) { > + int found = 0; Why is "found" declared here ? Why is it initialized to 0 ? > + int count, len; > + char *excluder_name; > + > + for (count = 0; count < excluder->excluder.count; count++) { Rather than declared here ? > + excluder_name = (char *)(excluder->excluder.names) > + + count * LTTNG_UST_SYM_NAME_LEN; > + len = strnlen(excluder_name, LTTNG_UST_SYM_NAME_LEN); > + if (len > 0 && excluder_name[len - 1] == '*') { > + found = strncmp(desc->name, excluder_name, len > - 1); strncmp and "found" have reversed logic. I'd assign found = !strncmp(....). > + } else { > + found = strncmp(desc->name, excluder_name, > + LTTNG_UST_SYM_NAME_LEN - 1); > + } > + if (!found) { and reverse this condition. The other patches in this patchset look good !! Good job !! Thanks, Mathieu > + return 0; > + } > + } > + } > switch (enabler->type) { > case LTTNG_ENABLER_WILDCARD: > return lttng_desc_match_wildcard_enabler(desc, enabler); > -- > 1.8.1.2 > > > _______________________________________________ > lttng-dev mailing list > [email protected] > http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev > -- Mathieu Desnoyers EfficiOS Inc. http://www.efficios.com _______________________________________________ lttng-dev mailing list [email protected] http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
