X-Git-Url: https://git.ozlabs.org/?p=ccan;a=blobdiff_plain;f=ccan%2Ftally%2Ftally.c;h=4ece2364c308d86173fab8bed7fa548c0591dd5f;hp=a5eedcb951bfafc819701a740bcad64e68f162ac;hb=a062738ac042002d51fdc3302a96fb7803aa2708;hpb=b10913e2abf41d97a3a7b4a00cc0909986d947d5 diff --git a/ccan/tally/tally.c b/ccan/tally/tally.c index a5eedcb9..4ece2364 100644 --- a/ccan/tally/tally.c +++ b/ccan/tally/tally.c @@ -25,12 +25,15 @@ struct tally *tally_new(unsigned buckets) struct tally *tally; /* There is always 1 bucket. */ - if (buckets == 0) + if (buckets == 0) { buckets = 1; + } /* Overly cautious check for overflow. */ - if (sizeof(*tally) * buckets / sizeof(*tally) != buckets) + if (sizeof(*tally) * buckets / sizeof(*tally) != buckets) { return NULL; + } + tally = (struct tally *)malloc( sizeof(*tally) + sizeof(tally->counts[0])*(buckets-1)); if (tally == NULL) { @@ -49,8 +52,9 @@ struct tally *tally_new(unsigned buckets) static unsigned bucket_of(ssize_t min, unsigned step_bits, ssize_t val) { /* Don't over-shift. */ - if (step_bits == SIZET_BITS) + if (step_bits == SIZET_BITS) { return 0; + } assert(step_bits < SIZET_BITS); return (size_t)(val - min) >> step_bits; } @@ -59,8 +63,9 @@ static unsigned bucket_of(ssize_t min, unsigned step_bits, ssize_t val) static ssize_t bucket_min(ssize_t min, unsigned step_bits, unsigned b) { /* Don't over-shift. */ - if (step_bits == SIZET_BITS) + if (step_bits == SIZET_BITS) { return min; + } assert(step_bits < SIZET_BITS); return min + ((ssize_t)b << step_bits); } @@ -68,8 +73,9 @@ static ssize_t bucket_min(ssize_t min, unsigned step_bits, unsigned b) /* Does shifting by this many bits truncate the number? */ static bool shift_overflows(size_t num, unsigned bits) { - if (bits == 0) + if (bits == 0) { return false; + } return ((num << bits) >> 1) != (num << (bits - 1)); }