shithub: scc

Download patch

ref: b776ea1b18419b7be3b62e207259f1b4115a5c17
parent: e87b3ab194e7cf293c90f555b96a9278c1698215
author: Roberto E. Vargas Caballero <k0ga@shike2.com>
date: Sat May 23 06:07:12 EDT 2015

Fix copydefine bug

--- a/cc1/cpp.c
+++ b/cc1/cpp.c
@@ -200,7 +200,8 @@
 static char *
 copydefine(char *s, char *args[], char *buff, int bufsiz, int nargs)
 {
-	unsigned ncopy, n;
+	unsigned ncopy;
+	int n;
 	size_t len;
 	char arroba[6], *par, *endp, **bp;
 
@@ -222,7 +223,7 @@
 			sprintf(arroba, "@%02d@", n);
 			break;
 		}
-		if (n == nargs)
+		if (n == nargs || nargs == -1)
 			par = s, ncopy = len;
 		else
 			par = arroba, ncopy = 4;