aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2014-09-27 21:26:28 +0300
committerArnold D. Robbins <arnold@skeeve.com>2014-09-27 21:26:28 +0300
commitc7882f59b6e5e4bb142928939264ca0c9af8e129 (patch)
treee06bf5d150cf69c441ef8b305a0f8f61c6039946
parent32649f52d26b1c3a6d09ffbca04928b476698713 (diff)
downloadegawk-c7882f59b6e5e4bb142928939264ca0c9af8e129.tar.gz
egawk-c7882f59b6e5e4bb142928939264ca0c9af8e129.tar.bz2
egawk-c7882f59b6e5e4bb142928939264ca0c9af8e129.zip
Minor fix when checking for bad source characters.
-rw-r--r--ChangeLog5
-rw-r--r--awkgram.c2
-rw-r--r--awkgram.y2
3 files changed, 7 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index cedd63fe..d92e23af 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2014-09-27 Arnold D. Robbins <arnold@skeeve.com>
+
+ * awkgram.y (check_for_bad): Bitwise-and the bad character with 0xFF
+ to avoid sign extension into a large integer.
+
2014-09-23 Arnold D. Robbins <arnold@skeeve.com>
* awkgram.y (yylex): Don't check for junk characters inside
diff --git a/awkgram.c b/awkgram.c
index 06279861..63439b36 100644
--- a/awkgram.c
+++ b/awkgram.c
@@ -5154,7 +5154,7 @@ check_bad_char(int c)
}
if (iscntrl(c) && ! isspace(c))
- fatal(_("PEBKAC error: invalid character '\\%03o' in source code"), c);
+ fatal(_("PEBKAC error: invalid character '\\%03o' in source code"), c & 0xFF);
}
/* nextc --- get the next input character */
diff --git a/awkgram.y b/awkgram.y
index 57d97098..c59547eb 100644
--- a/awkgram.y
+++ b/awkgram.y
@@ -2815,7 +2815,7 @@ check_bad_char(int c)
}
if (iscntrl(c) && ! isspace(c))
- fatal(_("PEBKAC error: invalid character '\\%03o' in source code"), c);
+ fatal(_("PEBKAC error: invalid character '\\%03o' in source code"), c & 0xFF);
}
/* nextc --- get the next input character */