Messages in this thread Patch in this message | | | Date | Sat, 23 Jan 2016 18:01:10 +0100 | From | Jiri Olsa <> | Subject | Re: [PATCH 3/7] perf callchain: Add enum match_result for match_chain() |
| |
On Fri, Jan 22, 2016 at 10:41:36PM +0900, Namhyung Kim wrote:
SNIP
> /* lookup in childrens */ > while (*p) { > - s64 ret; > + enum match_result ret; > > parent = *p; > rnode = rb_entry(parent, struct callchain_node, rb_node_in); > > /* If at least first entry matches, rely to children */ > ret = append_chain(rnode, cursor, period); > - if (ret == 0) > + if (ret == MATCH_EQ) > goto inc_children_hit; > > - if (ret < 0) > + if (ret == MATCH_LT) > p = &parent->rb_left; > else > p = &parent->rb_right;
so if we want to use the return values like that you probably missed 2 other places
thanks, jirka
--- diff --git a/tools/perf/util/callchain.c b/tools/perf/util/callchain.c index 7139d438ee6d..dc08e76aa8d9 100644 --- a/tools/perf/util/callchain.c +++ b/tools/perf/util/callchain.c @@ -565,7 +565,7 @@ split_add_child(struct callchain_node *parent, cnode = list_first_entry(&first->val, struct callchain_list, list); - if (match_chain(node, cnode) < 0) + if (match_chain(node, cnode) == MATCH_LT) pp = &p->rb_left; else pp = &p->rb_right; @@ -652,7 +652,7 @@ append_chain(struct callchain_node *root, break; cmp = match_chain(node, cnode); - if (cmp) + if (cmp != MATCH_EQ) break; found = true;
| |