aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--builtin.c6
2 files changed, 9 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index e4443761..b27e389f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2014-11-25 Arnold D. Robbins <arnold@skeeve.com>
+
+ * builtin.c (do_sub): For gensub, add more warnings for invalid
+ third argument.
+
2014-11-23 Arnold D. Robbins <arnold@skeeve.com>
* awk.h: Move all inline functions to the bottom of the file.
diff --git a/builtin.c b/builtin.c
index d85d3dbd..b12844c3 100644
--- a/builtin.c
+++ b/builtin.c
@@ -2757,6 +2757,8 @@ do_sub(int nargs, unsigned int flags)
if ((t1->flags & NUMCUR) != 0)
goto set_how_many;
+ warning(_("gensub: third argument of `%.*s' treated as 1"),
+ (int) t1->stlen, t1->stptr);
how_many = 1;
}
} else {
@@ -2769,8 +2771,8 @@ set_how_many:
how_many = d;
else
how_many = LONG_MAX;
- if (d == 0)
- warning(_("gensub: third argument of 0 treated as 1"));
+ if (d <= 0)
+ warning(_("gensub: third argument of %g treated as 1"), d);
}
DEREF(t1);