aboutsummaryrefslogtreecommitdiffstats
path: root/awkgram.c
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2015-06-22 22:08:22 +0300
committerArnold D. Robbins <arnold@skeeve.com>2015-06-22 22:08:22 +0300
commit9bf2c3a7bac4abe6c97af4efb2614575279e7b63 (patch)
tree5be2a4503d15d648557550491086515ea703e686 /awkgram.c
parentf57f0699d7193571233735ba691ba19fc072b7dc (diff)
downloadegawk-9bf2c3a7bac4abe6c97af4efb2614575279e7b63.tar.gz
egawk-9bf2c3a7bac4abe6c97af4efb2614575279e7b63.tar.bz2
egawk-9bf2c3a7bac4abe6c97af4efb2614575279e7b63.zip
Make isarray also not scalarize untyped parameters.
Diffstat (limited to 'awkgram.c')
-rw-r--r--awkgram.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/awkgram.c b/awkgram.c
index ade5ed6a..6dc4b334 100644
--- a/awkgram.c
+++ b/awkgram.c
@@ -6697,11 +6697,7 @@ snode(INSTRUCTION *subn, INSTRUCTION *r)
if (arg->nexti == arg->lasti && arg->nexti->opcode == Op_push)
arg->nexti->opcode = Op_push_arg; /* argument may be array */
}
- } else if (r->builtin == do_isarray) {
- arg = subn->nexti;
- if (arg->nexti == arg->lasti && arg->nexti->opcode == Op_push)
- arg->nexti->opcode = Op_push_arg; /* argument may be array */
- } else if (r->builtin == do_typeof) {
+ } else if (r->builtin == do_isarray || r->builtin == do_typeof) {
arg = subn->nexti;
if (arg->nexti == arg->lasti && arg->nexti->opcode == Op_push)
arg->nexti->opcode = Op_push_arg_untyped; /* argument may be untyped */