mirror of
https://github.com/neovim/neovim.git
synced 2025-09-25 04:28:33 +00:00
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:
@@ -61,7 +61,7 @@ bool try_end(Error *err)
|
||||
free_global_msglist();
|
||||
|
||||
if (should_free) {
|
||||
free(msg);
|
||||
xfree(msg);
|
||||
}
|
||||
} else if (did_throw) {
|
||||
api_set_error(err, Exception, "%s", current_exception->value);
|
||||
@@ -489,7 +489,7 @@ void api_free_string(String value)
|
||||
return;
|
||||
}
|
||||
|
||||
free(value.data);
|
||||
xfree(value.data);
|
||||
}
|
||||
|
||||
void api_free_object(Object value)
|
||||
@@ -527,7 +527,7 @@ void api_free_array(Array value)
|
||||
api_free_object(value.items[i]);
|
||||
}
|
||||
|
||||
free(value.items);
|
||||
xfree(value.items);
|
||||
}
|
||||
|
||||
void api_free_dictionary(Dictionary value)
|
||||
@@ -537,7 +537,7 @@ void api_free_dictionary(Dictionary value)
|
||||
api_free_object(value.items[i].value);
|
||||
}
|
||||
|
||||
free(value.items);
|
||||
xfree(value.items);
|
||||
}
|
||||
|
||||
Dictionary api_metadata(void)
|
||||
|
Reference in New Issue
Block a user