diff options
author | Arnold D. Robbins <arnold@skeeve.com> | 2018-09-18 11:39:54 +0300 |
---|---|---|
committer | Arnold D. Robbins <arnold@skeeve.com> | 2018-09-18 11:39:54 +0300 |
commit | 82f0a742be462298c0da027bc4fb56ddcb667c02 (patch) | |
tree | f44643a98685af133e144304f9a32d383c6649d5 /field.c | |
parent | 4978d581e4c1a93b5cdb962b47c2ed827655b070 (diff) | |
parent | c80262bd52c0f1631e9a0aeebf7b732afb76d76f (diff) | |
download | egawk-82f0a742be462298c0da027bc4fb56ddcb667c02.tar.gz egawk-82f0a742be462298c0da027bc4fb56ddcb667c02.tar.bz2 egawk-82f0a742be462298c0da027bc4fb56ddcb667c02.zip |
Merge branch 'gawk-4.2-stable'
Diffstat (limited to 'field.c')
-rw-r--r-- | field.c | 22 |
1 files changed, 15 insertions, 7 deletions
@@ -396,6 +396,13 @@ set_NF() nf = get_number_si(NF_node->var_value); if (nf < 0) fatal(_("NF set to negative value")); + + static bool warned = false; + if (do_lint && NF > nf && ! warned) { + warned = true; + lintwarn(_("decrementing NF is not portable to many awk versions")); + } + NF = nf; if (NF > nf_high_water) @@ -832,18 +839,19 @@ NODE ** get_field(long requested, Func_ptr *assign) { bool in_middle = false; + static bool warned = false; + extern int currule; + + if (do_lint && currule == END && ! warned) { + warned = true; + lintwarn(_("accessing fields from an END rule may not be portable")); + } + /* * if requesting whole line but some other field has been altered, * then the whole line must be rebuilt */ if (requested == 0) { - static bool warned = false; - extern int currule; - - if (do_lint && currule == END && ! warned) { - warned = true; - lintwarn(_("accessing $0 from an END rule may not be portable")); - } if (! field0_valid) { /* first, parse remainder of input record */ if (NF == -1) { |