aboutsummaryrefslogtreecommitdiffstats
path: root/awkgram.c
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2011-05-31 23:05:18 +0300
committerArnold D. Robbins <arnold@skeeve.com>2011-05-31 23:05:18 +0300
commit7c21fd7d7528b0be01ff030f820c5fe7fc242a41 (patch)
treec15cb23b5aecd7ee9e4d0c7a139d7112795cdc42 /awkgram.c
parentc2efba1b80559c475a74622d16aa7361fa566251 (diff)
downloadegawk-7c21fd7d7528b0be01ff030f820c5fe7fc242a41.tar.gz
egawk-7c21fd7d7528b0be01ff030f820c5fe7fc242a41.tar.bz2
egawk-7c21fd7d7528b0be01ff030f820c5fe7fc242a41.zip
Disallow gawk builtin/keyword as variable assignment.
Diffstat (limited to 'awkgram.c')
-rw-r--r--awkgram.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/awkgram.c b/awkgram.c
index b588bc80..4edec572 100644
--- a/awkgram.c
+++ b/awkgram.c
@@ -6180,9 +6180,6 @@ retry:
break_allowed++;
if (tokentab[mid].flags & CONTINUE)
continue_allowed++;
- if ((do_traditional && (tokentab[mid].flags & GAWKX))
- || (do_posix && (tokentab[mid].flags & NOT_POSIX)))
- goto out;
switch (class) {
case LEX_INCLUDE:
@@ -8646,8 +8643,12 @@ check_special(const char *name)
high = mid - 1;
else if (i > 0) /* token > mid */
low = mid + 1;
- else
+ else {
+ if ((do_traditional && (tokentab[mid].flags & GAWKX))
+ || (do_posix && (tokentab[mid].flags & NOT_POSIX)))
+ return -1;
return mid;
+ }
}
return -1;
}