diff --git a/framework/allocator.cpp b/framework/allocator.cpp index 8f47b0a..d297143 100644 --- a/framework/allocator.cpp +++ b/framework/allocator.cpp @@ -52,3 +52,9 @@ void pst_allocator_init_custom(pst_allocator& alloc, void* buff, uint32_t size) return; } +void pst_alloc_fini(pst_allocator& alloc) +{ + alloc.type = ALLOC_NONE; + alloc.base = NULL; + alloc.size = 0; +} diff --git a/framework/allocator.h b/framework/allocator.h index dbb38a7..46195b4 100644 --- a/framework/allocator.h +++ b/framework/allocator.h @@ -18,8 +18,9 @@ typedef void (*pst_free_def)(pst_allocator& alloc, void* buff); typedef void* (*pst_realloc_def)(pst_allocator& alloc, void* buff, uint32_t new_size); typedef enum { - ALLOC_HEAP = 1, // use libc memory allocator - ALLOC_CUSTOM // use custom allocator in predefined range of memory + ALLOC_NONE = 0, // not initialized + ALLOC_HEAP = 1, // use libc memory allocator + ALLOC_CUSTOM = 2 // use custom allocator in predefined range of memory } pst_alloc_type; typedef struct __pst_allocator { @@ -34,5 +35,6 @@ typedef struct __pst_allocator { void pst_alloc_init(pst_allocator& alloc); void pst_allocator_init_custom(pst_allocator& alloc, void* buff, uint32_t size); +void pst_alloc_fini(pst_allocator& alloc); #endif /* FRAMEWORK_ALLOCATOR_H_ */