forked from len0rd/rockbox
core_alloc: Provide a tiny test allocation, which can be freed for debug purposes.
This allocation can be freed in the buflib debug menu (select it to free). Doing a another allocation, e.g. by selecting another item in this debug menu will cause compaction (all allocs move). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30719 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
6efb3f0760
commit
4478b25ede
3 changed files with 33 additions and 8 deletions
|
@ -6,6 +6,9 @@
|
|||
|
||||
/* not static so it can be discovered by core_get_data() */
|
||||
struct buflib_context core_ctx;
|
||||
|
||||
/* debug test alloc */
|
||||
static int test_alloc;
|
||||
void core_allocator_init(void)
|
||||
{
|
||||
buffer_init();
|
||||
|
@ -13,6 +16,17 @@ void core_allocator_init(void)
|
|||
void *start = buffer_get_buffer(&size);
|
||||
buflib_init(&core_ctx, start, size);
|
||||
buffer_release_buffer(size);
|
||||
|
||||
test_alloc = core_alloc("test", 112);
|
||||
}
|
||||
|
||||
bool core_test_free(void)
|
||||
{
|
||||
bool ret = test_alloc > 0;
|
||||
if (ret)
|
||||
test_alloc = core_free(test_alloc);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
int core_alloc(const char* name, size_t size)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue