changed to prototype of qse_mmgr_t function to accept mmgr itself instead of mmgr->ctx and fixed a memory leak bug under a certain failure condition
This commit is contained in:
@ -24,19 +24,19 @@
|
||||
QSE_BEGIN_NAMESPACE(QSE)
|
||||
/////////////////////////////////
|
||||
|
||||
void* Mmgr::alloc_mem (void* ctx, size_t n)
|
||||
void* Mmgr::alloc_mem (mmgr_t* mmgr, size_t n)
|
||||
{
|
||||
return ((Mmgr*)ctx)->allocMem (n);
|
||||
return ((Mmgr*)mmgr->ctx)->allocMem (n);
|
||||
}
|
||||
|
||||
void* Mmgr::realloc_mem (void* ctx, void* ptr, size_t n)
|
||||
void* Mmgr::realloc_mem (mmgr_t* mmgr, void* ptr, size_t n)
|
||||
{
|
||||
return ((Mmgr*)ctx)->reallocMem (ptr, n);
|
||||
return ((Mmgr*)mmgr->ctx)->reallocMem (ptr, n);
|
||||
}
|
||||
|
||||
void Mmgr::free_mem (void* ctx, void* ptr)
|
||||
void Mmgr::free_mem (mmgr_t* mmgr, void* ptr)
|
||||
{
|
||||
((Mmgr*)ctx)->freeMem (ptr);
|
||||
((Mmgr*)mmgr->ctx)->freeMem (ptr);
|
||||
}
|
||||
|
||||
/////////////////////////////////
|
||||
|
@ -22,6 +22,12 @@
|
||||
|
||||
#if defined(_WIN32)
|
||||
# include <windows.h>
|
||||
/*
|
||||
#elif defined(__OS2__)
|
||||
# define INCL_DOSMEMMGR
|
||||
# include <os2.h>
|
||||
# include <bsememf.h>
|
||||
*/
|
||||
#else
|
||||
# include <stdlib.h>
|
||||
#endif
|
||||
@ -439,7 +445,7 @@ void* qse_memrmem (const void* hs, qse_size_t hl, const void* nd, qse_size_t nl)
|
||||
return QSE_NULL;
|
||||
}
|
||||
|
||||
static void* mmgr_alloc (void* data, qse_size_t n)
|
||||
static void* mmgr_alloc (qse_mmgr_t* mmgr, qse_size_t n)
|
||||
{
|
||||
#if defined(_WIN32)
|
||||
HANDLE heap;
|
||||
@ -452,7 +458,7 @@ static void* mmgr_alloc (void* data, qse_size_t n)
|
||||
#endif
|
||||
}
|
||||
|
||||
static void* mmgr_realloc (void* data, void* ptr, qse_size_t n)
|
||||
static void* mmgr_realloc (qse_mmgr_t* mmgr, void* ptr, qse_size_t n)
|
||||
{
|
||||
#if defined(_WIN32)
|
||||
HANDLE heap;
|
||||
@ -466,7 +472,7 @@ static void* mmgr_realloc (void* data, void* ptr, qse_size_t n)
|
||||
#endif
|
||||
}
|
||||
|
||||
static void mmgr_free (void* data, void* ptr)
|
||||
static void mmgr_free (qse_mmgr_t* mmgr, void* ptr)
|
||||
{
|
||||
#if defined(_WIN32)
|
||||
HANDLE heap;
|
||||
|
Reference in New Issue
Block a user