aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--builtin.c4
2 files changed, 8 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 3c69485d..2fa68887 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2021-09-26 Arnold D. Robbins <arnold@skeeve.com>
+
+ * builtin.c (do_mktime): Update that ISO 8601 does not allow
+ hours > 23. Thanks to Nethox <nethox+awk@gmail.com> for the info.
+
2021-09-23 Arnold D. Robbins <arnold@skeeve.com>
* gawkapi.h: Some clean-up of comments in the header file.
diff --git a/builtin.c b/builtin.c
index cf0c98e3..d7ba82c9 100644
--- a/builtin.c
+++ b/builtin.c
@@ -2121,10 +2121,12 @@ do_mktime(int nargs)
& hour, & minute, & second,
& dst);
+ // 9/2021: I've been told that according to the ISO 8601-1:2019 spec,
+ // hour cannot be 24. So the check for hour > 23 is valid.
if ( do_lint /* Ready? Set! Go: */
&& ( (second < 0 || second > 60)
|| (minute < 0 || minute > 59)
- || (hour < 0 || hour > 23) /* FIXME ISO 8601 allows 24 ? */
+ || (hour < 0 || hour > 23)
|| (day < 1 || day > 31)
|| (month < 1 || month > 12) ))
lintwarn(_("mktime: at least one of the values is out of the default range"));