aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2014-09-23 19:31:58 +0300
committerArnold D. Robbins <arnold@skeeve.com>2014-09-23 19:31:58 +0300
commitfc9b58482ce186b2fa0461351d4e060735e21b78 (patch)
treefcaec3804dd563f268b489b4f7a445e76c49e0ed
parent06e16db227de0422f33b5f83817df55340f11846 (diff)
downloadegawk-fc9b58482ce186b2fa0461351d4e060735e21b78.tar.gz
egawk-fc9b58482ce186b2fa0461351d4e060735e21b78.tar.bz2
egawk-fc9b58482ce186b2fa0461351d4e060735e21b78.zip
Allow any kind of junk inside quoted strings.
-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"));