aboutsummaryrefslogtreecommitdiffstats
path: root/field.c
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2018-09-18 11:40:34 +0300
committerArnold D. Robbins <arnold@skeeve.com>2018-09-18 11:40:34 +0300
commit362a100732b1017b54d3d6c6f14ea6ba59e657c2 (patch)
treec693b01f98fa65902b0f8bed27f1917c67dbf48e /field.c
parentc515c7d93ca941383e14de219dca592743ec0495 (diff)
parent82f0a742be462298c0da027bc4fb56ddcb667c02 (diff)
downloadegawk-362a100732b1017b54d3d6c6f14ea6ba59e657c2.tar.gz
egawk-362a100732b1017b54d3d6c6f14ea6ba59e657c2.tar.bz2
egawk-362a100732b1017b54d3d6c6f14ea6ba59e657c2.zip
Merge branch 'master' into feature/fix-comments
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) {