Style cleanups:
      * make check_leaf return -1 or plen, rather than by reference
      * Get rid of #ifdef that is always set
      * split out embedded function calls in if statements.

Signed-off-by: Stephen Hemminger <[EMAIL PROTECTED]>

--- a/net/ipv4/fib_trie.c       2008-01-15 08:25:46.000000000 -0800
+++ b/net/ipv4/fib_trie.c       2008-01-15 08:26:21.000000000 -0800
@@ -1277,34 +1277,36 @@ err:
 
 
 /* should be called with rcu_read_lock */
-static inline int check_leaf(struct trie *t, struct leaf *l,
-                            t_key key, int *plen, const struct flowi *flp,
-                            struct fib_result *res)
+static int check_leaf(struct trie *t, struct leaf *l,
+                     t_key key,  const struct flowi *flp,
+                     struct fib_result *res)
 {
-       int err, i;
-       __be32 mask;
        struct leaf_info *li;
        struct hlist_head *hhead = &l->list;
        struct hlist_node *node;
 
        hlist_for_each_entry_rcu(li, node, hhead, hlist) {
-               i = li->plen;
-               mask = inet_make_mask(i);
+               int err;
+               int plen = li->plen;
+               __be32 mask = inet_make_mask(plen);
+
                if (l->key != (key & ntohl(mask)))
                        continue;
 
-               if ((err = fib_semantic_match(&li->falh, flp, res, 
htonl(l->key), mask, i)) <= 0) {
-                       *plen = i;
+               err = fib_semantic_match(&li->falh, flp, res,
+                                        htonl(l->key), mask, plen);
+
 #ifdef CONFIG_IP_FIB_TRIE_STATS
+               if (err <= 0)
                        t->stats.semantic_match_passed++;
+               else
+                       t->stats.semantic_match_miss++;
 #endif
-                       return err;
-               }
-#ifdef CONFIG_IP_FIB_TRIE_STATS
-               t->stats.semantic_match_miss++;
-#endif
+               if (err <= 0)
+                       return plen;
        }
-       return 1;
+
+       return -1;
 }
 
 static int
@@ -1335,10 +1337,13 @@ fn_trie_lookup(struct fib_table *tb, con
 
        /* Just a leaf? */
        if (IS_LEAF(n)) {
-               if ((ret = check_leaf(t, (struct leaf *)n, key, &plen, flp, 
res)) <= 0)
-                       goto found;
-               goto failed;
+               plen = check_leaf(t, (struct leaf *)n, key, flp, res);
+               if (plen < 0)
+                       goto failed;
+               ret = 0;
+               goto found;
        }
+
        pn = (struct tnode *) n;
        chopped_off = 0;
 
@@ -1360,14 +1365,14 @@ fn_trie_lookup(struct fib_table *tb, con
                }
 
                if (IS_LEAF(n)) {
-                       if ((ret = check_leaf(t, (struct leaf *)n, key, &plen, 
flp, res)) <= 0)
-                               goto found;
-                       else
+                       plen = check_leaf(t, (struct leaf *)n, key, flp, res);
+                       if (plen < 0)
                                goto backtrace;
+
+                       ret = 0;
+                       goto found;
                }
 
-#define HL_OPTIMIZE
-#ifdef HL_OPTIMIZE
                cn = (struct tnode *)n;
 
                /*
@@ -1455,7 +1460,7 @@ fn_trie_lookup(struct fib_table *tb, con
                        if (current_prefix_length >= cn->pos)
                                current_prefix_length = mp;
                }
-#endif
+
                pn = (struct tnode *)n; /* Descend */
                chopped_off = 0;
                continue;

-- 
Stephen Hemminger <[EMAIL PROTECTED]>

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to