aboutsummaryrefslogtreecommitdiffstats
path: root/src/zfree.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/zfree.c')
-rw-r--r--src/zfree.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/src/zfree.c b/src/zfree.c
index 2a1680a..5048048 100644
--- a/src/zfree.c
+++ b/src/zfree.c
@@ -5,15 +5,13 @@
void
zfree(z_t a)
{
- size_t i = 0, x, j;
+ size_t i, x, j;
zahl_char_t **new;
- if (!a->chars)
+ if (unlikely(!a->chars))
return;
- for (x = a->alloced; x; x >>= 1)
- i += 1;
-
+ i = libzahl_msb_nz_zu(a->alloced);
j = libzahl_pool_n[i]++;
if (j == libzahl_pool_alloc[i]) {