STINNER Victor added the comment:

Hi,

> pytime.c:184: runtime error: value -1e+200 is outside the range of 
> representable values of type 'long'

How did you get this warning?

> Shouldn't a range test based on TIME_T_MAX with an epsilon occur first?

Two lines after, the integer overflow is checked:

        *sec = (time_t)intpart;
        err = intpart - (double)*sec;
        if (err <= -1.0 || err >= 1.0) {
            error_time_t_overflow();
            return -1;
        }

And it works, example:

>>> import _testcapi
>>> _testcapi.pytime_object_to_time_t(-1e+200, 0)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
OverflowError: timestamp out of range for platform time_t

(where 0 means _PyTime_ROUND_DOWN)

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue20941>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to