Improve quality of tests for time stamp overflow. For example,
authorPaul Eggert <eggert@cs.ucla.edu>
Sat, 12 Mar 2011 06:49:53 +0000 (22:49 -0800)
committerPaul Eggert <eggert@cs.ucla.edu>
Sat, 12 Mar 2011 06:49:53 +0000 (22:49 -0800)
commitb8d9bd41b7daaa35de8335b20af145a808ae9b07
treebb00176e7801612ad1de68713f9128446bc9751d
parentfe31d94c97a6a3702e301a14b84c1f293afe5efd
Improve quality of tests for time stamp overflow.  For example,

without this patch (encode-time 0 0 0 1 1 1152921504606846976)
returns the obviously-bogus value (-948597 62170) on my RHEL 5.5
x86-64 host.  With it, it reports time overflow.
* deps.mk (editfns.o): Depend on ../lib/intprops.h.
* editfns.c: Include limits.h and intprops.h.
(TIME_T_MIN, TIME_T_MAX): New macros.
(time_overflow): Move earlier, to before first use.
(hi_time, lo_time): New functions, for an accurate test for
out-of-range times.
(Fcurrent_time, Fget_internal_run_time, make_time): Use them.
(Fget_internal_run_time): Don't assume time_t fits in int.
(make_time): Use list2 instead of Fcons twice.
(Fdecode_time): More accurate test for out-of-range times.
(check_tm_member): New function.
(Fencode_time): Use it, to test for out-of-range times.
src/ChangeLog
src/deps.mk
src/editfns.c