From f1c494ff5d40439940bc7a45e82ca7e5ac8a5bcd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fredrik=20H=C3=BCbinette=20=28Hubbe=29?= <hubbe@hubbe.net>
Date: Sun, 1 Dec 1996 05:03:55 -0800
Subject: [PATCH] F_FOREACH and F_INC/DEC_LOOP fixed

Rev: src/docode.c:1.5
Rev: src/interpret.c:1.14
---
 src/docode.c    | 4 +++-
 src/interpret.c | 4 +---
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/docode.c b/src/docode.c
index a10e99d578..bb188a8f9e 100644
--- a/src/docode.c
+++ b/src/docode.c
@@ -4,7 +4,7 @@
 ||| See the files COPYING and DISCLAIMER for more information.
 \*/
 #include "global.h"
-RCSID("$Id: docode.c,v 1.4 1996/11/14 01:24:08 hubbe Exp $");
+RCSID("$Id: docode.c,v 1.5 1996/12/01 13:03:54 hubbe Exp $");
 #include "las.h"
 #include "program.h"
 #include "language.h"
@@ -570,6 +570,7 @@ static int do_docode2(node *n,int flags)
     current_switch_jumptable = prev_switch_jumptable;
     current_break=break_save;
     current_continue=continue_save;
+    do_pop(4);
     return 0;
   }
 
@@ -599,6 +600,7 @@ static int do_docode2(node *n,int flags)
     current_switch_jumptable = prev_switch_jumptable;
     current_break=break_save;
     current_continue=continue_save;
+    do_pop(3);
     return 0;
   }
 
diff --git a/src/interpret.c b/src/interpret.c
index 00e0f90f61..2901c77bcc 100644
--- a/src/interpret.c
+++ b/src/interpret.c
@@ -4,7 +4,7 @@
 ||| See the files COPYING and DISCLAIMER for more information.
 \*/
 #include "global.h"
-RCSID("$Id: interpret.c,v 1.13 1996/11/28 03:04:44 hubbe Exp $");
+RCSID("$Id: interpret.c,v 1.14 1996/12/01 13:03:55 hubbe Exp $");
 #include "interpret.h"
 #include "object.h"
 #include "program.h"
@@ -379,7 +379,6 @@ CASE(ID) \
     check_threads_etc(); \
   }else{ \
     pc+=sizeof(INT32); \
-    pop_n_elems(3); \
   } \
   break; \
 }
@@ -874,7 +873,6 @@ static void eval_instruction(unsigned char *pc)
 	  sp[-1].u.integer++;
 	}else{
 	  pc+=sizeof(INT32);
-	  pop_n_elems(4);
 	}
 	break;
       }
-- 
GitLab