aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--editors/awk.c2
-rwxr-xr-xtestsuite/awk.tests3
2 files changed, 4 insertions, 1 deletions
diff --git a/editors/awk.c b/editors/awk.c
index bc8b0dad1..b9bc01f16 100644
--- a/editors/awk.c
+++ b/editors/awk.c
@@ -1046,7 +1046,7 @@ static uint32_t next_token(uint32_t expected)
*(p-1) = '\0';
tc = TC_VARIABLE;
/* also consume whitespace between functionname and bracket */
- if (!(expected & TC_VARIABLE))
+ if (!(expected & TC_VARIABLE) || (expected & TC_ARRAY))
skip_spaces(&p);
if (*p == '(') {
tc = TC_FUNCTION;
diff --git a/testsuite/awk.tests b/testsuite/awk.tests
index 7910c8875..03d464969 100755
--- a/testsuite/awk.tests
+++ b/testsuite/awk.tests
@@ -64,4 +64,7 @@ testing "awk string cast (bug 725)" \
"0\nnumber\n" \
"" ""
+testing "awk handles whitespace before array subscript" \
+ "awk 'BEGIN { arr [3] = 1; print arr [3] }'" "1\n" "" ""
+
exit $FAILCOUNT