diff options
Diffstat (limited to 'Objects/longobject.c')
| -rw-r--r-- | Objects/longobject.c | 24 | 
1 files changed, 6 insertions, 18 deletions
diff --git a/Objects/longobject.c b/Objects/longobject.c index d4dc45a23b..cdaea02775 100644 --- a/Objects/longobject.c +++ b/Objects/longobject.c @@ -954,9 +954,6 @@ PyObject *  PyLong_FromVoidPtr(void *p)  {  #if SIZEOF_VOID_P <= SIZEOF_LONG -    /* special-case null pointer */ -    if (!p) -        return PyLong_FromLong(0);      return PyLong_FromUnsignedLong((unsigned long)(Py_uintptr_t)p);  #else @@ -966,9 +963,6 @@ PyLong_FromVoidPtr(void *p)  #if SIZEOF_LONG_LONG < SIZEOF_VOID_P  #   error "PyLong_FromVoidPtr: sizeof(PY_LONG_LONG) < sizeof(void*)"  #endif -    /* special-case null pointer */ -    if (!p) -        return PyLong_FromLong(0);      return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG)(Py_uintptr_t)p);  #endif /* SIZEOF_VOID_P <= SIZEOF_LONG */ @@ -1014,7 +1008,6 @@ PyLong_AsVoidPtr(PyObject *vv)   * rewritten to use the newer PyLong_{As,From}ByteArray API.   */ -#define IS_LITTLE_ENDIAN (int)*(unsigned char*)&one  #define PY_ABS_LLONG_MIN (0-(unsigned PY_LONG_LONG)PY_LLONG_MIN)  /* Create a new long int object from a C PY_LONG_LONG int. */ @@ -1167,7 +1160,6 @@ PyLong_AsLongLong(PyObject *vv)  {      PyLongObject *v;      PY_LONG_LONG bytes; -    int one = 1;      int res;      if (vv == NULL) { @@ -1202,7 +1194,7 @@ PyLong_AsLongLong(PyObject *vv)      case 1: return v->ob_digit[0];      }      res = _PyLong_AsByteArray((PyLongObject *)vv, (unsigned char *)&bytes, -                              SIZEOF_LONG_LONG, IS_LITTLE_ENDIAN, 1); +                              SIZEOF_LONG_LONG, PY_LITTLE_ENDIAN, 1);      /* Plan 9 can't handle PY_LONG_LONG in ? : expressions */      if (res < 0) @@ -1219,7 +1211,6 @@ PyLong_AsUnsignedLongLong(PyObject *vv)  {      PyLongObject *v;      unsigned PY_LONG_LONG bytes; -    int one = 1;      int res;      if (vv == NULL) { @@ -1238,7 +1229,7 @@ PyLong_AsUnsignedLongLong(PyObject *vv)      }      res = _PyLong_AsByteArray((PyLongObject *)vv, (unsigned char *)&bytes, -                              SIZEOF_LONG_LONG, IS_LITTLE_ENDIAN, 0); +                              SIZEOF_LONG_LONG, PY_LITTLE_ENDIAN, 0);      /* Plan 9 can't handle PY_LONG_LONG in ? : expressions */      if (res < 0) @@ -1314,7 +1305,6 @@ PyLong_AsUnsignedLongLongMask(register PyObject *op)          return (unsigned PY_LONG_LONG)-1;      }  } -#undef IS_LITTLE_ENDIAN  /* Get a C long long int from a long int object or any object that has an     __int__ method. @@ -1676,7 +1666,6 @@ long_to_decimal_string_internal(PyObject *aa,          else                                                          \              p = (TYPE*)PyUnicode_DATA(str) + strlen;                  \                                                                        \ -        *p = '\0';                                                    \          /* pout[0] through pout[size-2] contribute exactly            \             _PyLong_DECIMAL_SHIFT digits each */                       \          for (i=0; i < size - 1; i++) {                                \ @@ -4101,7 +4090,7 @@ v_complement(digit *z, digit *a, Py_ssize_t m)  static PyObject *  long_bitwise(PyLongObject *a, -             int op,  /* '&', '|', '^' */ +             char op,  /* '&', '|', '^' */               PyLongObject *b)  {      int nega, negb, negz; @@ -4276,8 +4265,7 @@ static PyObject *  long_new(PyTypeObject *type, PyObject *args, PyObject *kwds)  {      PyObject *obase = NULL, *x = NULL; -    long base; -    int overflow; +    Py_ssize_t base;      static char *kwlist[] = {"x", "base", 0};      if (type != &PyLong_Type) @@ -4296,10 +4284,10 @@ long_new(PyTypeObject *type, PyObject *args, PyObject *kwds)      if (obase == NULL)          return PyNumber_Long(x); -    base = PyLong_AsLongAndOverflow(obase, &overflow); +    base = PyNumber_AsSsize_t(obase, NULL);      if (base == -1 && PyErr_Occurred())          return NULL; -    if (overflow || (base != 0 && base < 2) || base > 36) { +    if ((base != 0 && base < 2) || base > 36) {          PyErr_SetString(PyExc_ValueError,                          "int() base must be >= 2 and <= 36");          return NULL;  | 
