memory: Add free wrapper and refactor project to use it

We already use wrappers for allocation, the new `xfree` function is the
equivalent for deallocation and provides a way to fully replace the malloc
implementation used by Neovim.
This commit is contained in:
Thiago de Arruda
2015-04-12 11:37:22 -03:00
parent ba10e311bd
commit 34c48aaf12
70 changed files with 1361 additions and 1353 deletions

View File

@@ -53,7 +53,7 @@ void hash_init(hashtab_T *ht)
void hash_clear(hashtab_T *ht)
{
if (ht->ht_array != ht->ht_smallarray) {
free(ht->ht_array);
xfree(ht->ht_array);
}
}
@@ -65,7 +65,7 @@ void hash_clear_all(hashtab_T *ht, unsigned int off)
size_t todo = ht->ht_used;
for (hashitem_T *hi = ht->ht_array; todo > 0; ++hi) {
if (!HASHITEM_EMPTY(hi)) {
free(hi->hi_key - off);
xfree(hi->hi_key - off);
todo--;
}
}
@@ -351,7 +351,7 @@ static void hash_may_resize(hashtab_T *ht, size_t minitems)
}
if (ht->ht_array != ht->ht_smallarray) {
free(ht->ht_array);
xfree(ht->ht_array);
}
ht->ht_array = newarray;
ht->ht_mask = newmask;