stardis-green

Post-processing of green functions
git clone git://git.meso-star.fr/stardis-green.git
Log | Files | Refs | README | LICENSE

commit 307ede25e115367dde37b2d4e90b74a7edd72ec5
parent b6c3be90ff1308480635a97ab68f5aba5ee9d530
Author: Christophe Coustet <christophe.coustet@meso-star.com>
Date:   Fri, 16 Oct 2020 15:13:33 +0200

Add memleaks reporting

Diffstat:
Msrc/green-main.c | 13++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/src/green-main.c b/src/green-main.c @@ -32,7 +32,7 @@ main { int err = EXIT_SUCCESS; res_T res = RES_OK; - int logger_initialized = 0, green_initialized = 0; + int logger_initialized = 0, green_initialized = 0, allocator_initialized = 0; struct mem_allocator allocator; struct logger logger; struct green green; @@ -40,6 +40,7 @@ main FILE* stream = NULL; ERR(mem_init_proxy_allocator(&allocator, &mem_default_allocator)); + allocator_initialized = 1; ERR(logger_init(&allocator, &logger)); logger_initialized = 1; @@ -117,6 +118,16 @@ exit: if(green_initialized) green_release(&green); if(logger_initialized) logger_release(&logger); if(stream) fclose(stream); + if(allocator_initialized) { + if(MEM_ALLOCATED_SIZE(&allocator) != 0) { + char dump[4096] = { '\0' }; + MEM_DUMP(&allocator, dump, sizeof(dump)); + fprintf(stderr, "%s\n", dump); + fprintf(stderr, "\nMemory leaks: %zu Bytes\n", + MEM_ALLOCATED_SIZE(&allocator)); + } + mem_shutdown_proxy_allocator(&allocator); + } return err; error: err = EXIT_FAILURE;