aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--awkgram.c6
-rw-r--r--awkgram.y6
3 files changed, 15 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 5bf1ab1e..8de4418e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2014-09-23 Arnold D. Robbins <arnold@skeeve.com>
+
+ * awkgram.y (yylex): Don't check for junk characters inside
+ quoted strings. Caused issues on DJGPP and Solaris.
+
2014-09-19 Arnold D. Robbins <arnold@skeeve.com>
* awkgram.y: Further commentary as to the treacherousness
diff --git a/awkgram.c b/awkgram.c
index b7354f67..06279861 100644
--- a/awkgram.c
+++ b/awkgram.c
@@ -5734,7 +5734,11 @@ retry:
case '"':
string:
esc_seen = false;
- while ((c = nextc(true)) != '"') {
+ /*
+ * Allow any kind of junk in quoted string,
+ * so pass false to nextc().
+ */
+ while ((c = nextc(false)) != '"') {
if (c == '\n') {
pushback();
yyerror(_("unterminated string"));
diff --git a/awkgram.y b/awkgram.y
index 21c83925..57d97098 100644
--- a/awkgram.y
+++ b/awkgram.y
@@ -3395,7 +3395,11 @@ retry:
case '"':
string:
esc_seen = false;
- while ((c = nextc(true)) != '"') {
+ /*
+ * Allow any kind of junk in quoted string,
+ * so pass false to nextc().
+ */
+ while ((c = nextc(false)) != '"') {
if (c == '\n') {
pushback();
yyerror(_("unterminated string"));