• Guido van Rossum's avatar
    Untested code for 64-bit platforms. range_length() is declared as int · d4774fb6
    Guido van Rossum yazdı
    but returns r->len which is a long.  This doesn't even cause a warning
    on 32-bit platforms, but can return bogus values on 64-bit platforms
    (and should cause a compiler warning).  Fix this by inserting a range
    check when LONG_MAX != INT_MAX, and adding an explicit cast to (int)
    when the test passes.  When r->len is out of range, PySequence_Size()
    and hence len() will report an error (but an iterator will still
    work).
    d4774fb6
rangeobject.c 7.57 KB