From 1766be6194c32556bd24dd2a43450e0c527cd9f1 Mon Sep 17 00:00:00 2001 From: Dan Carpenter Date: Fri, 4 Mar 2016 23:01:31 +0300 Subject: [PATCH] avl: remove sign() function I don't know if this makes a difference, but now it won't show up on perf report anymore because I have hidden the if condition in cmp_tracker(). Signed-off-by: Dan Carpenter --- avl.c | 13 ++----------- smatch_slist.c | 6 ++++-- 2 files changed, 6 insertions(+), 13 deletions(-) diff --git a/avl.c b/avl.c index fb241fe3..437206ce 100644 --- a/avl.c +++ b/avl.c @@ -56,15 +56,6 @@ int unfree_stree; #define bal(side) ((side) == 0 ? -1 : 1) #define side(bal) ((bal) == 1 ? 1 : 0) -static int sign(int cmp) -{ - if (cmp < 0) - return -1; - if (cmp == 0) - return 0; - return 1; -} - struct stree *avl_new(void) { struct stree *avl = malloc(sizeof(*avl)); @@ -225,7 +216,7 @@ static bool insert_sm(struct stree *avl, AvlNode **p, const struct sm_state *sm) return true; } else { AvlNode *node = *p; - int cmp = sign(cmp_tracker(sm, node->sm)); + int cmp = cmp_tracker(sm, node->sm); if (cmp == 0) { node->sm = sm; @@ -253,7 +244,7 @@ static bool remove_sm(struct stree *avl, AvlNode **p, const struct sm_state *sm, return false; } else { AvlNode *node = *p; - int cmp = sign(cmp_tracker(sm, node->sm)); + int cmp = cmp_tracker(sm, node->sm); if (cmp == 0) { *ret = node; diff --git a/smatch_slist.c b/smatch_slist.c index adda7349..947c35c7 100644 --- a/smatch_slist.c +++ b/smatch_slist.c @@ -99,8 +99,10 @@ int cmp_tracker(const struct sm_state *a, const struct sm_state *b) return 1; ret = strcmp(a->name, b->name); - if (ret) - return ret; + if (ret < 0) + return -1; + if (ret > 0) + return 1; if (!b->sym && a->sym) return -1; -- 2.11.4.GIT