add destroyer
authorhgn <hgodden00@gmail.com>
Fri, 27 Dec 2024 15:28:13 +0000 (15:28 +0000)
committerhgn <hgodden00@gmail.com>
Fri, 27 Dec 2024 15:28:13 +0000 (15:28 +0000)
vg_mem.c
vg_mem.h

index 0e079188a83fe9a9c1632a99b661b95f4b8b0b2a..9451572f168ab129499cbeaf496fe876ff300170 100644 (file)
--- a/vg_mem.c
+++ b/vg_mem.c
@@ -166,6 +166,14 @@ void vg_linear_del( void *buffer, void *data )
    alloc->last_alloc_size = 0;
 }
 
+void vg_allocator_free( void *allocator )
+{
+   if( vg_mem.use_libc_malloc )
+      vg_libc_del_recursive( allocator );
+   else
+      free( vg_linear_header( allocator ) );
+}
+
 /* extend latest block of memory from linear */
 __attribute__((warn_unused_result))
 void *_vg_linear_extend( void *buffer, void *data, u32 extra,
index 94042a971e8cd94464ddfcde75fc85a47c0bdf85..8d9441c8b3b07b1359880f2fb6aa802fc1fd4ef4 100644 (file)
--- a/vg_mem.h
+++ b/vg_mem.h
@@ -99,3 +99,4 @@ void vg_mem_log( void *lin_alloc, int depth, const char *name );
 void *_vg_create_linear_allocator( void *lin_alloc, u32 size, 
                                    u16 flags, const char *constr_name);
 vg_linear_allocator *vg_linear_header( void *data );
+void vg_allocator_free( void *allocator );