summaryrefslogtreecommitdiff
path: root/eval.c
diff options
context:
space:
mode:
authorAndrew J. Schorr <aschorr@telemetry-investments.com>2014-04-13 14:30:56 -0400
committerAndrew J. Schorr <aschorr@telemetry-investments.com>2014-04-13 14:30:56 -0400
commit94e3f93395de538d73826e128281a3ea9591a5a9 (patch)
tree45257e4b024537c5e0e5a3037a99ea9765583c99 /eval.c
parentc4300d657ba49db0b6d0f0884f41a29622edc58b (diff)
parenta4b59faf911743b30f2e6e979c4f9c1ea0669ac3 (diff)
downloadgawk-94e3f93395de538d73826e128281a3ea9591a5a9.tar.gz
Merge branch 'master' into select
Diffstat (limited to 'eval.c')
-rw-r--r--eval.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/eval.c b/eval.c
index 4ad5afe0..d8647869 100644
--- a/eval.c
+++ b/eval.c
@@ -440,6 +440,7 @@ flags2str(int flagval)
{ WSTRCUR, "WSTRCUR" },
{ MPFN, "MPFN" },
{ MPZN, "MPZN" },
+ { NULL_FIELD, "NULL_FIELD" },
{ ARRAYMAXED, "ARRAYMAXED" },
{ HALFHAT, "HALFHAT" },
{ XARRAY, "XARRAY" },
@@ -1183,7 +1184,7 @@ r_get_field(NODE *n, Func_ptr *assign, bool reference)
*assign = reset_record;
} else
lhs = get_field(field_num, assign);
- if (do_lint && reference && (*lhs == Null_field || *lhs == Nnull_string))
+ if (do_lint && reference && ((*lhs)->flags & NULL_FIELD) != 0)
lintwarn(_("reference to uninitialized field `$%ld'"),
field_num);
return lhs;
@@ -1243,7 +1244,7 @@ setup_frame(INSTRUCTION *pc)
arg_count = (pc + 1)->expr_count;
/* tail recursion optimization */
- tail_optimize = ((pc + 1)->tail_call && do_optimize > 1
+ tail_optimize = ((pc + 1)->tail_call && do_optimize
&& ! do_debug && ! do_profile);
if (tail_optimize) {