From 4a20341b487c17b49fc455ba37df84946eda38a7 Mon Sep 17 00:00:00 2001 From: "Andrew J. Schorr" Date: Sun, 4 Dec 2016 16:38:16 -0500 Subject: Minor fixes to fixtype and do_typeof. --- builtin.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'builtin.c') diff --git a/builtin.c b/builtin.c index 5d7c3764..f71d71dd 100644 --- a/builtin.c +++ b/builtin.c @@ -3988,7 +3988,6 @@ do_typeof(int nargs) deref = false; break; case Node_val: - case Node_var: switch (fixtype(arg)->flags & (STRING|NUMBER|USER_INPUT|REGEX)) { case STRING: res = "string"; @@ -4017,6 +4016,14 @@ do_typeof(int nargs) res = "untyped"; deref = false; break; + case Node_var: + /* + * Note: this doesn't happen because the function calling code + * in interpret.h pushes Node_var->var_value. + */ + fatal(_("typeof: invalid argument type `%s'"), + nodetype2str(arg->type)); + break; default: fatal(_("typeof: unknown argument type `%s'"), nodetype2str(arg->type)); -- cgit v1.2.3