diff options
author | Mark Dickinson <dickinsm@gmail.com> | 2009-02-15 17:27:41 (GMT) |
---|---|---|
committer | Mark Dickinson <dickinsm@gmail.com> | 2009-02-15 17:27:41 (GMT) |
commit | 0d4785bc3b64c9429758436c60357e04bdcd1379 (patch) | |
tree | 56ad4325f370c27028d81d05242ce053bbf79936 /Objects/longobject.c | |
parent | 9d876139e50e82b2c2bc141d81fc97fc1c09a991 (diff) | |
download | cpython-0d4785bc3b64c9429758436c60357e04bdcd1379.zip cpython-0d4785bc3b64c9429758436c60357e04bdcd1379.tar.gz cpython-0d4785bc3b64c9429758436c60357e04bdcd1379.tar.bz2 |
Fix more places in Objects/longobject.c where it's silently assumed that
sizeof(digit) < sizeof(int).
Diffstat (limited to 'Objects/longobject.c')
-rw-r--r-- | Objects/longobject.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/Objects/longobject.c b/Objects/longobject.c index ead6398..48a3cde 100644 --- a/Objects/longobject.c +++ b/Objects/longobject.c @@ -47,7 +47,7 @@ get_small_int(sdigit ival) } #define CHECK_SMALL_INT(ival) \ do if (-NSMALLNEGINTS <= ival && ival < NSMALLPOSINTS) { \ - return get_small_int((int)ival); \ + return get_small_int((sdigit)ival); \ } while(0) static PyLongObject * @@ -365,7 +365,7 @@ PyLong_AsLongAndOverflow(PyObject *vv, int *overflow) switch (i) { case -1: - res = -v->ob_digit[0]; + res = -(sdigit)v->ob_digit[0]; break; case 0: res = 0; @@ -440,7 +440,7 @@ PyLong_AsSsize_t(PyObject *vv) { v = (PyLongObject *)vv; i = Py_SIZE(v); switch (i) { - case -1: return -v->ob_digit[0]; + case -1: return -(sdigit)v->ob_digit[0]; case 0: return 0; case 1: return v->ob_digit[0]; } @@ -1235,7 +1235,7 @@ PyLong_AsLongLong(PyObject *vv) v = (PyLongObject*)vv; switch(Py_SIZE(v)) { - case -1: return -v->ob_digit[0]; + case -1: return -(sdigit)v->ob_digit[0]; case 0: return 0; case 1: return v->ob_digit[0]; } @@ -2279,7 +2279,7 @@ long_hash(PyLongObject *v) of mapping keys will turn out weird */ i = Py_SIZE(v); switch(i) { - case -1: return v->ob_digit[0]==1 ? -2 : -v->ob_digit[0]; + case -1: return v->ob_digit[0]==1 ? -2 : -(sdigit)v->ob_digit[0]; case 0: return 0; case 1: return v->ob_digit[0]; } |