From d34285c827c1abc0bd5adf1055c3cfead7c0519b Mon Sep 17 00:00:00 2001 From: hyung-hwan Date: Fri, 7 Dec 2007 21:05:04 +0000 Subject: [PATCH] --- ase/change.log | 19 +++++++++++++++++++ ase/test/awk/awk.c | 4 ++-- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/ase/change.log b/ase/change.log index 898d98cd..e67faa99 100644 --- a/ase/change.log +++ b/ase/change.log @@ -14,6 +14,25 @@ x[30] = d; } +* fixed a control-flow bug in the following context. + function error() { exit (1); } + function getx() + { + if (x == 2) error(); + return x++; + } + function gety() { return y++; } + BEGIN { + x = 0; + y = 0; + print getx() + gety(); + print getx() + gety(); + /* this following line should not have been printed as + * exit() is executed in getx(). */ + print getx() + gety(); + print getx() + gety(); + } + [0.3.2] * fixed a build problem for x64 target in MSVC2005 diff --git a/ase/test/awk/awk.c b/ase/test/awk/awk.c index c2242631..9eaa0278 100644 --- a/ase/test/awk/awk.c +++ b/ase/test/awk/awk.c @@ -804,7 +804,7 @@ static int print_awk_value (ase_awk_pair_t* pair, void* arg) static void on_run_statement ( ase_awk_run_t* run, ase_size_t line, void* custom) { - dprintf (L"running %d\n", (int)line); + /*dprintf (L"running %d\n", (int)line);*/ } static void on_run_return ( @@ -1180,7 +1180,7 @@ static int awk_main (int argc, ase_char_t* argv[]) ase_awk_setmaxdepth ( awk, ASE_AWK_DEPTH_BLOCK_PARSE | ASE_AWK_DEPTH_EXPR_PARSE, 50); ase_awk_setmaxdepth ( - awk, ASE_AWK_DEPTH_BLOCK_RUN | ASE_AWK_DEPTH_EXPR_RUN, 1000); + awk, ASE_AWK_DEPTH_BLOCK_RUN | ASE_AWK_DEPTH_EXPR_RUN, 500); /*ase_awk_setkeyword (awk, ASE_T("func"), 4, ASE_T("FX"), 2);*/