aboutsummaryrefslogtreecommitdiffstats
path: root/src/zunsetup.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/zunsetup.c')
-rw-r--r--src/zunsetup.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/zunsetup.c b/src/zunsetup.c
index 184f96f..9926354 100644
--- a/src/zunsetup.c
+++ b/src/zunsetup.c
@@ -9,14 +9,20 @@ zunsetup(void)
if (libzahl_set_up) {
libzahl_set_up = 0;
#define X(x)\
- zfree(x);
+ free(x->chars);
LIST_TEMPS;
#undef X
#define X(x, f, v)\
- zfree(x);
+ free(x->chars);
LIST_CONSTS;
#undef X
for (i = BITS_PER_CHAR; i--;)
- zfree(libzahl_tmp_divmod_ds[i]);
+ free(libzahl_tmp_divmod_ds[i]->chars);
+
+ for (i = sizeof(libzahl_pool) / sizeof(*libzahl_pool); i--;) {
+ while (libzahl_pool_n[i]--)
+ free(libzahl_pool[i][libzahl_pool_n[i]]);
+ free(libzahl_pool[i]);
+ }
}
}