fixed a memory leak bug in StdAwk.cpp when compiled for mchar
This commit is contained in:
parent
fa3757222a
commit
35839c9f67
@ -170,13 +170,11 @@ oops:
|
|||||||
|
|
||||||
void StdAwk::close ()
|
void StdAwk::close ()
|
||||||
{
|
{
|
||||||
#if defined(QSE_CHAR_IS_WCHAR)
|
|
||||||
if (this->cmgrtab_inited)
|
if (this->cmgrtab_inited)
|
||||||
{
|
{
|
||||||
qse_htb_fini (&this->cmgrtab);
|
qse_htb_fini (&this->cmgrtab);
|
||||||
this->cmgrtab_inited = false;
|
this->cmgrtab_inited = false;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
clearConsoleOutputs ();
|
clearConsoleOutputs ();
|
||||||
Awk::close ();
|
Awk::close ();
|
||||||
|
@ -68,10 +68,16 @@ static QSE_INLINE_ALWAYS qse_size_t szlog2 (qse_size_t n)
|
|||||||
#define BITS (QSE_SIZEOF_SIZE_T * 8)
|
#define BITS (QSE_SIZEOF_SIZE_T * 8)
|
||||||
int x = BITS - 1;
|
int x = BITS - 1;
|
||||||
|
|
||||||
#if QSE_SIZEOF_SIZE_T >= 32
|
#if QSE_SIZEOF_SIZE_T >= 128
|
||||||
# error qse_size_t too large. unsupported platform
|
# error qse_size_t too large. unsupported platform
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if QSE_SIZEOF_SIZE_T >= 64
|
||||||
|
if ((n & (~(qse_size_t)0 << (BITS-128))) == 0) { x -= 256; n <<= 256; }
|
||||||
|
#endif
|
||||||
|
#if QSE_SIZEOF_SIZE_T >= 32
|
||||||
|
if ((n & (~(qse_size_t)0 << (BITS-128))) == 0) { x -= 128; n <<= 128; }
|
||||||
|
#endif
|
||||||
#if QSE_SIZEOF_SIZE_T >= 16
|
#if QSE_SIZEOF_SIZE_T >= 16
|
||||||
if ((n & (~(qse_size_t)0 << (BITS-64))) == 0) { x -= 64; n <<= 64; }
|
if ((n & (~(qse_size_t)0 << (BITS-64))) == 0) { x -= 64; n <<= 64; }
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
x
Reference in New Issue
Block a user