shithub: scc

Download patch

ref: ba7282c77fe93ec17c42d1a3a11fbd4109d93616
parent: 3e30a4a17fcd1bdaccf00bef07bdce99f285e0ef
author: Roberto E. Vargas Caballero <k0ga@shike2.com>
date: Mon Mar 28 04:29:33 EDT 2022

cc1: Add comment about error recovery

The code in string has a way to re-synchronize when a string
is too long, but it was not obvious what the code was trying
to do.

--- a/src/cmd/cc/cc1/lex.c
+++ b/src/cmd/cc/cc1/lex.c
@@ -558,6 +558,7 @@
 			c = escape();
 
 		if (bp == &yytext[STRINGSIZ+1]) {
+			/* too long, ignore everything until next quote */
 			for (++input->p; *input->p != '"'; ++input->p) {
 				if (*input->p == '\\')
 					++input->p;