summaryrefslogtreecommitdiff
path: root/src/set
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2017-12-03 17:16:14 +0100
committerChristian Grothoff <christian@grothoff.org>2017-12-03 17:16:14 +0100
commit90c803401e6dbe336c6469ff874b0005e7a2f163 (patch)
tree2e7c79b2bda41d7937da6217c35e890b5e1bf260 /src/set
parent862e488e08ca71db56dedd59059c5bb1a8c130a5 (diff)
fix related to #4909/12605: force desirability of path if path is in use
Diffstat (limited to 'src/set')
-rw-r--r--src/set/gnunet-service-set_union.c7
-rw-r--r--src/set/gnunet-service-set_union_strata_estimator.c6
2 files changed, 5 insertions, 8 deletions
diff --git a/src/set/gnunet-service-set_union.c b/src/set/gnunet-service-set_union.c
index b2983545f..730124495 100644
--- a/src/set/gnunet-service-set_union.c
+++ b/src/set/gnunet-service-set_union.c
@@ -739,11 +739,10 @@ get_order_from_difference (unsigned int diff)
unsigned int ibf_order;
ibf_order = 2;
- while ( (1<<ibf_order) < (IBF_ALPHA * diff) ||
- ((1<<ibf_order) < SE_IBF_HASH_NUM) )
+ while ( ( (1<<ibf_order) < (IBF_ALPHA * diff) ||
+ ((1<<ibf_order) < SE_IBF_HASH_NUM) ) &&
+ (ibf_order < MAX_IBF_ORDER) )
ibf_order++;
- if (ibf_order > MAX_IBF_ORDER)
- ibf_order = MAX_IBF_ORDER;
// add one for correction
return ibf_order + 1;
}
diff --git a/src/set/gnunet-service-set_union_strata_estimator.c b/src/set/gnunet-service-set_union_strata_estimator.c
index e3d6bfaec..0bd22c92e 100644
--- a/src/set/gnunet-service-set_union_strata_estimator.c
+++ b/src/set/gnunet-service-set_union_strata_estimator.c
@@ -228,21 +228,19 @@ unsigned int
strata_estimator_difference (const struct StrataEstimator *se1,
const struct StrataEstimator *se2)
{
- int i;
unsigned int count;
GNUNET_assert (se1->strata_count == se2->strata_count);
count = 0;
- for (i = se1->strata_count - 1; i >= 0; i--)
+ for (int i = se1->strata_count - 1; i >= 0; i--)
{
struct InvertibleBloomFilter *diff;
/* number of keys decoded from the ibf */
- int ibf_count;
/* FIXME: implement this without always allocating new IBFs */
diff = ibf_dup (se1->strata[i]);
ibf_subtract (diff, se2->strata[i]);
- for (ibf_count = 0; GNUNET_YES; ibf_count++)
+ for (int ibf_count = 0; GNUNET_YES; ibf_count++)
{
int more;