]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
Change order of parameters in a few functions
authorIgor Putovny <igor.putovny@nic.cz>
Wed, 18 Oct 2023 10:06:27 +0000 (12:06 +0200)
committerIgor Putovny <igor.putovny@nic.cz>
Wed, 18 Oct 2023 10:06:27 +0000 (12:06 +0200)
proto/aggregator/aggregator.c

index 4ee183b07d9c2ca8de13fe168b5833631b5c9d33..ac8c3e394fb0dd61c17fc4ec0f59536f9cd5553a 100644 (file)
@@ -191,9 +191,9 @@ get_ancestor_bucket(const struct trie_node *node)
 static void
 first_pass(struct trie_node *node, slab *trie_slab)
 {
+  bug("first pass");
   assert(node != NULL);
   assert(trie_slab != NULL);
-  //assert(node->bucket != NULL);
 
   if (is_leaf(node))
   {
@@ -209,6 +209,7 @@ first_pass(struct trie_node *node, slab *trie_slab)
     {
       struct trie_node *new = new_node(trie_slab);
       new->parent = node;
+      new->bucket = get_ancestor_bucket(new);
       node->child[i] = new;
     }
   }
@@ -255,7 +256,7 @@ aggregator_bucket_compare(const void *a, const void *b)
  * Compute intersection of two sets of potential buckets in @left and @right and put result in @node
  */
 static void
-aggregator_bucket_intersect(struct trie_node *node, const struct trie_node *left, const struct trie_node *right)
+aggregator_bucket_intersect(const struct trie_node *left, const struct trie_node *right, struct trie_node *node)
 {
   assert(node != NULL);
   assert(left != NULL);
@@ -288,7 +289,7 @@ aggregator_bucket_intersect(struct trie_node *node, const struct trie_node *left
  * Compute union of two sets of potential buckets in @left and @right and put result in @node
  */
 static void
-aggregator_bucket_unionize(struct trie_node *node, const struct trie_node *left, const struct trie_node *right)
+aggregator_bucket_unionize(const struct trie_node *left, const struct trie_node *right, struct trie_node *node)
 {
   assert(node != NULL);
   assert(left != NULL);
@@ -420,13 +421,9 @@ second_pass(struct trie_node *node)
   qsort(right->potential_buckets, right->potential_buckets_count, sizeof(struct aggregator_bucket *), aggregator_bucket_compare);
 
   if (bucket_sets_are_disjoint(left, right))
-    aggregator_bucket_unionize(node, left, right);
+    aggregator_bucket_unionize(left, right, node);
   else
-    aggregator_bucket_intersect(node, left, right);
-
-  log("node: %p, potential buckets count: %d", node, node->potential_buckets_count);
-
-  assert(node->potential_buckets_count > 0);
+    aggregator_bucket_intersect(left, right, node);
 }
 
 /*