diff --git a/Tools/unix/uz80as/Makefile b/Tools/unix/uz80as/Makefile index d158f4dd..712c47b0 100644 --- a/Tools/unix/uz80as/Makefile +++ b/Tools/unix/uz80as/Makefile @@ -58,9 +58,15 @@ clean: uz80as: $(OBJECTS) $(CC) $(CFLAGS) -o uz80as $(OBJECTS) -test: test.asm uz80as - ./uz80as test.asm - cat test.lst +TESTS=test*.asm + +test: uz80as + echo "running tests" + for i in $(TESTS) ; do \ + echo "====== $$i ======" ; \ + ./uz80as $$i ; \ + cat $$(basename $$i .asm).lst ; \ + done .c.o: $(CC) $(CFLAGS) -I. -c $< -o $@ diff --git a/Tools/unix/uz80as/pp.c b/Tools/unix/uz80as/pp.c index 842247a2..b3b69f2a 100644 --- a/Tools/unix/uz80as/pp.c +++ b/Tools/unix/uz80as/pp.c @@ -278,8 +278,12 @@ static int expand_line(char *dp, char *dq, const char *p) /* strings */ s = p; p++; - while (*p != '\0' && *p != '\"') + /* skip over the string literal */ + while (*p != '\0' && *p != '\"') { + if (p[0] == '\\' && p[1] == '\"') + p++; p++; + } if (*p == '\"') p++; dp = copypp(dp, dq, s, p);