aboutsummaryrefslogtreecommitdiffstats
path: root/field.c
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2018-09-18 11:39:54 +0300
committerArnold D. Robbins <arnold@skeeve.com>2018-09-18 11:39:54 +0300
commit82f0a742be462298c0da027bc4fb56ddcb667c02 (patch)
treef44643a98685af133e144304f9a32d383c6649d5 /field.c
parent4978d581e4c1a93b5cdb962b47c2ed827655b070 (diff)
parentc80262bd52c0f1631e9a0aeebf7b732afb76d76f (diff)
downloadegawk-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.c22
1 files changed, 15 insertions, 7 deletions
diff --git a/field.c b/field.c
index 1c209c26..2f6eff70 100644
--- a/field.c
+++ b/field.c
@@ -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) {