diff options
author | Arnold D. Robbins <arnold@skeeve.com> | 2011-05-31 23:05:18 +0300 |
---|---|---|
committer | Arnold D. Robbins <arnold@skeeve.com> | 2011-05-31 23:05:18 +0300 |
commit | 7c21fd7d7528b0be01ff030f820c5fe7fc242a41 (patch) | |
tree | c15cb23b5aecd7ee9e4d0c7a139d7112795cdc42 /awkgram.c | |
parent | c2efba1b80559c475a74622d16aa7361fa566251 (diff) | |
download | egawk-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.c | 9 |
1 files changed, 5 insertions, 4 deletions
@@ -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; } |