summaryrefslogtreecommitdiff
path: root/Src/loop.c
diff options
context:
space:
mode:
Diffstat (limited to 'Src/loop.c')
-rw-r--r--Src/loop.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/Src/loop.c b/Src/loop.c
index 4def9b652..7d1528efe 100644
--- a/Src/loop.c
+++ b/Src/loop.c
@@ -552,8 +552,12 @@ execif(Estate state, int do_exec)
run = 1;
break;
}
- if (retflag)
- break;
+ if (retflag) {
+ if (retflag == 2)
+ retflag = 0; /* Never ERR_RETURN here */
+ else
+ break;
+ }
s = 1;
state->pc = next;
}