diff options
author | Arnold D. Robbins <arnold@skeeve.com> | 2015-04-13 16:24:30 +0300 |
---|---|---|
committer | Arnold D. Robbins <arnold@skeeve.com> | 2015-04-13 16:24:30 +0300 |
commit | b57630628a5c6d8d8d16f05b357f61b34c861359 (patch) | |
tree | 55a6afabcda2ce04dd95b8a1d292d18f8c54e027 | |
parent | f4eea5c198be1dcda61a94db10b8f3200888576b (diff) | |
parent | 11692d41b177e93df106309cf2eda493350bee35 (diff) | |
download | egawk-b57630628a5c6d8d8d16f05b357f61b34c861359.tar.gz egawk-b57630628a5c6d8d8d16f05b357f61b34c861359.tar.bz2 egawk-b57630628a5c6d8d8d16f05b357f61b34c861359.zip |
Merge branch 'master' into feature/wasted-byte
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | builtin.c | 12 | ||||
-rw-r--r-- | test/ChangeLog | 5 | ||||
-rw-r--r-- | test/Makefile.am | 10 | ||||
-rw-r--r-- | test/Makefile.in | 9 | ||||
-rw-r--r-- | test/negtime.awk | 4 | ||||
-rw-r--r-- | test/negtime.ok | 1 |
7 files changed, 44 insertions, 4 deletions
@@ -7,6 +7,13 @@ * regexec.c (buid_trtable, match_ctx_clean): Replace malloc/free with re_malloc/re_free. + Unrelated: + + * builtin.c (do_strftime): Disable checking timestamp value for less + than zero. Allows times before the epoch to work with strftime. + Thanks to Glaudiston Gomes da Silva <glaudistong@gmail.com> + for raising the issue. + 2015-04-12 Arnold D. Robbins <arnold@skeeve.com> * Makefile.am (efence): Make this link again. @@ -1921,8 +1921,16 @@ do_strftime(int nargs) lintwarn(_("strftime: received non-numeric second argument")); (void) force_number(t2); clock_val = get_number_si(t2); - if (clock_val < 0) - fatal(_("strftime: second argument less than 0 or too big for time_t")); + /* + * 4/2015: This used to be here: + * + * if (clock_val < 0) + * fatal(_("strftime: second argument less than 0 or too big for time_t")); + * + * It is now disabled since some systems have strftime that works + * on times before the epoch. No arbritrary limits comes into + * play at this point. + */ fclock = (time_t) clock_val; DEREF(t2); } diff --git a/test/ChangeLog b/test/ChangeLog index a04e4064..3f875522 100644 --- a/test/ChangeLog +++ b/test/ChangeLog @@ -1,3 +1,8 @@ +2015-04-13 Arnold D. Robbins <arnold@skeeve.com> + + * Makefile.am (negtime): New test. + * negtime.awk, negtime.ok: New files. + 2015-04-09 Arnold D. Robbins <arnold@skeeve.com> * fts.awk: Skip atime to avoid spurious timestamp diff --git a/test/Makefile.am b/test/Makefile.am index d7e96353..9ec3fc6c 100644 --- a/test/Makefile.am +++ b/test/Makefile.am @@ -574,6 +574,8 @@ EXTRA_DIST = \ negexp.ok \ negrange.awk \ negrange.ok \ + negtime.awk \ + negtime.ok \ nested.awk \ nested.in \ nested.ok \ @@ -1067,7 +1069,7 @@ GAWK_EXT_TESTS = \ include include2 indirectbuiltin indirectcall indirectcall2 \ lint lintold lintwarn \ manyfiles match1 match2 match3 mbstr1 \ - nastyparm next nondec nondec2 \ + nastyparm negtime next nondec nondec2 \ nonfatal1 nonfatal2 nonfatal3 \ patsplit posix printfbad1 printfbad2 printfbad3 printfbad4 printhuge procinfs \ profile0 profile1 profile2 profile3 profile4 profile5 profile6 profile7 \ @@ -2095,6 +2097,12 @@ paramasfunc2:: @AWKPATH="$(srcdir)" $(AWK) -f $@.awk --posix >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ +negtime:: + @echo $@ + @TZ=GMT AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ + + # Targets generated for other tests: include Maketests diff --git a/test/Makefile.in b/test/Makefile.in index 5c7314f1..ea0a4a27 100644 --- a/test/Makefile.in +++ b/test/Makefile.in @@ -831,6 +831,8 @@ EXTRA_DIST = \ negexp.ok \ negrange.awk \ negrange.ok \ + negtime.awk \ + negtime.ok \ nested.awk \ nested.in \ nested.ok \ @@ -1323,7 +1325,7 @@ GAWK_EXT_TESTS = \ include include2 indirectbuiltin indirectcall indirectcall2 \ lint lintold lintwarn \ manyfiles match1 match2 match3 mbstr1 \ - nastyparm next nondec nondec2 \ + nastyparm negtime next nondec nondec2 \ nonfatal1 nonfatal2 nonfatal3 \ patsplit posix printfbad1 printfbad2 printfbad3 printfbad4 printhuge procinfs \ profile0 profile1 profile2 profile3 profile4 profile5 profile6 profile7 \ @@ -2530,6 +2532,11 @@ paramasfunc2:: @echo $@ @AWKPATH="$(srcdir)" $(AWK) -f $@.awk --posix >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ + +negtime:: + @echo $@ + @TZ=GMT AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ Gt-dummy: # file Maketests, generated from Makefile.am by the Gentests program addcomma: diff --git a/test/negtime.awk b/test/negtime.awk new file mode 100644 index 00000000..743c6d05 --- /dev/null +++ b/test/negtime.awk @@ -0,0 +1,4 @@ +BEGIN { +then = mktime("1959 12 15 7 00 00") +print strftime(PROCINFO["strftime"], then) +} diff --git a/test/negtime.ok b/test/negtime.ok new file mode 100644 index 00000000..aa2ae694 --- /dev/null +++ b/test/negtime.ok @@ -0,0 +1 @@ +Tue Dec 15 07:00:00 GMT 1959 |