changeset 280:4370370f38d1

Correct CRC problems with DTS pseudo op DTS actually emitted its code during the parse phase. While the code was actually correct, this messed with the OS9 module CRC calculation, probably due to the calculation being in the wrong order. The order of calculations for a CRC do matter.
author William Astle <lost@l-w.ca>
date Tue, 16 Jul 2013 21:46:12 -0600
parents 4051bc09da78
children cb24ffb23f7c
files lwasm/pseudo.c
diffstat 1 files changed, 7 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/lwasm/pseudo.c	Tue Jul 16 17:04:45 2013 -0600
+++ b/lwasm/pseudo.c	Tue Jul 16 21:46:12 2013 -0600
@@ -45,20 +45,25 @@
 	l -> len = 0;
 
 	tp = time(NULL);
-	t = ctime(&tp);
+	t = l ->lstr = ctime(&tp);
 
 	while (*t)
 	{
 		if (*t == '\n')
 			break;
-		lwasm_emit(l, *t);
 		t++;
 		l -> len += 1;
 	}
+	
 }
 
 EMITFUNC(pseudo_emit_dts)
 {
+	char *t;
+	int i;
+	
+	for (t = l -> lstr, i = 0; i < l -> len; i++, t++)
+		lwasm_emit(l, *t);
 }
 
 // for "dtb"