added Awk::resetRunContext().

updated version to 0.5.7
This commit is contained in:
2012-06-05 12:56:41 +00:00
parent a0faf15316
commit c64efd8ae7
50 changed files with 1523 additions and 703 deletions

View File

@ -1176,10 +1176,21 @@ Awk::Run* Awk::parse (Source& in, Source& out)
return QSE_NULL;
}
if (init_runctx () <= -1) return QSE_NULL;
if (init_runctx() <= -1) return QSE_NULL;
return &runctx;
}
Awk::Run* Awk::resetRunContext ()
{
if (this->runctx.rtx)
{
fini_runctx ();
if (init_runctx() <= -1) return QSE_NULL;
return &this->runctx;
}
else return QSE_NULL;
}
int Awk::loop (Value* ret)
{
QSE_ASSERT (awk != QSE_NULL);
@ -1250,7 +1261,7 @@ void Awk::stop ()
int Awk::init_runctx ()
{
if (runctx.rtx != QSE_NULL) return 0;
if (this->runctx.rtx) return 0;
qse_awk_rio_t rio;
@ -1276,10 +1287,10 @@ int Awk::init_runctx ()
void Awk::fini_runctx ()
{
if (runctx.rtx != QSE_NULL)
if (this->runctx.rtx)
{
qse_awk_rtx_close (runctx.rtx);
runctx.rtx = QSE_NULL;
qse_awk_rtx_close (this->runctx.rtx);
this->runctx.rtx = QSE_NULL;
}
}