changeset 275:97630727000e 2.5

fixed expression 'slots' to not store null on a pass 1 store
author lost
date Mon, 31 Aug 2009 08:37:15 +0000
parents 3010e24bb9c5
children 23034db7dd8a
files lwasm/lwasm.c
diffstat 1 files changed, 6 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/lwasm/lwasm.c	Mon Aug 31 08:30:13 2009 +0000
+++ b/lwasm/lwasm.c	Mon Aug 31 08:37:15 2009 +0000
@@ -373,8 +373,13 @@
 	if ((as -> passnum == 1 && !(flag & EXPR_REEVAL)) || slot < 0)
 	{		
 		s = lwasm_evaluate_expr(as, l, *inp, &ep, flag);
+//		if (!ep)
+//			ep = *inp;
 		if (slot >= 0)
+		{
 			l -> exprs[slot] = s;
+			l -> exprends[slot] = ep;
+		}
 		if (!s)
 		{
 			register_error(as, l, 1, "Bad expression");
@@ -384,7 +389,7 @@
 		*inp = (char *)ep;
 		if (slot >= 0)
 		{
-			l -> exprends[slot] = (char *)ep;
+//			l -> exprends[slot] = (char *)ep;
 			l -> exprvals[slot] = lwasm_expr_get_value(s);
 		}
 	}