]> granicus.if.org Git - python/commitdiff
C++ compiler cleanup: bunch-o-casts, plus use of unsigned loop index var in a couple...
authorSkip Montanaro <skip@pobox.com>
Tue, 18 Apr 2006 00:35:43 +0000 (00:35 +0000)
committerSkip Montanaro <skip@pobox.com>
Tue, 18 Apr 2006 00:35:43 +0000 (00:35 +0000)
Objects/complexobject.c
Objects/floatobject.c
Objects/intobject.c
Objects/longobject.c
Objects/stringobject.c
Objects/typeobject.c

index 1b2ea9b7a1191cffb5be5c95e20bdca24f68c39d..17aef8faadd1f5a5adf2d0875b5f6739fa29994a 100644 (file)
@@ -688,7 +688,7 @@ complex_subtype_from_string(PyTypeObject *type, PyObject *v)
        }
 #ifdef Py_USING_UNICODE
        else if (PyUnicode_Check(v)) {
-               if (PyUnicode_GET_SIZE(v) >= sizeof(s_buffer)) {
+               if (PyUnicode_GET_SIZE(v) >= (Py_ssize_t)sizeof(s_buffer)) {
                        PyErr_SetString(PyExc_ValueError,
                                 "complex() literal too large to convert");
                        return NULL;
index 5ec8a0ea38533da13c3f1f5619e66b20fb18d94d..7650ae6934f133b563887ada657610cc738dfadd 100644 (file)
@@ -97,7 +97,7 @@ PyFloat_FromString(PyObject *v, char **pend)
        }
 #ifdef Py_USING_UNICODE
        else if (PyUnicode_Check(v)) {
-               if (PyUnicode_GET_SIZE(v) >= sizeof(s_buffer)) {
+               if (PyUnicode_GET_SIZE(v) >= (Py_ssize_t)sizeof(s_buffer)) {
                        PyErr_SetString(PyExc_ValueError,
                                "Unicode float() literal too long to convert");
                        return NULL;
index 63034bcac09c8ae4f34f9600105d93ffc3762bf4..2062bee9de18d4940987634e9f07b6debb5fb46b 100644 (file)
@@ -255,18 +255,18 @@ PyInt_AsUnsignedLongMask(register PyObject *op)
        if (op == NULL || (nb = op->ob_type->tp_as_number) == NULL ||
            nb->nb_int == NULL) {
                PyErr_SetString(PyExc_TypeError, "an integer is required");
-               return -1;
+               return (unsigned long)-1;
        }
 
        io = (PyIntObject*) (*nb->nb_int) (op);
        if (io == NULL)
-               return -1;
+               return (unsigned long)-1;
        if (!PyInt_Check(io)) {
                if (PyLong_Check(io)) {
                        val = PyLong_AsUnsignedLongMask((PyObject *)io);
                        Py_DECREF(io);
                        if (PyErr_Occurred())
-                               return -1;
+                               return (unsigned long)-1;
                        return val;
                }
                else
@@ -274,7 +274,7 @@ PyInt_AsUnsignedLongMask(register PyObject *op)
                        Py_DECREF(io);
                        PyErr_SetString(PyExc_TypeError,
                                        "nb_int should return int object");
-                       return -1;
+                       return (unsigned long)-1;
                }
        }
 
@@ -300,18 +300,18 @@ PyInt_AsUnsignedLongLongMask(register PyObject *op)
        if (op == NULL || (nb = op->ob_type->tp_as_number) == NULL ||
            nb->nb_int == NULL) {
                PyErr_SetString(PyExc_TypeError, "an integer is required");
-               return -1;
+               return (unsigned PY_LONG_LONG)-1;
        }
 
        io = (PyIntObject*) (*nb->nb_int) (op);
        if (io == NULL)
-               return -1;
+               return (unsigned PY_LONG_LONG)-1;
        if (!PyInt_Check(io)) {
                if (PyLong_Check(io)) {
                        val = PyLong_AsUnsignedLongLongMask((PyObject *)io);
                        Py_DECREF(io);
                        if (PyErr_Occurred())
-                               return -1;
+                               return (unsigned PY_LONG_LONG)-1;
                        return val;
                }
                else
@@ -319,7 +319,7 @@ PyInt_AsUnsignedLongLongMask(register PyObject *op)
                        Py_DECREF(io);
                        PyErr_SetString(PyExc_TypeError,
                                        "nb_int should return int object");
-                       return -1;
+                       return (unsigned PY_LONG_LONG)-1;
                }
        }
 
@@ -1152,6 +1152,7 @@ PyInt_Fini(void)
        PyIntObject *p;
        PyIntBlock *list, *next;
        int i;
+       unsigned int ctr;
        int bc, bf;     /* block count, number of freed blocks */
        int irem, isum; /* remaining unfreed ints per block, total */
 
@@ -1174,9 +1175,9 @@ PyInt_Fini(void)
        while (list != NULL) {
                bc++;
                irem = 0;
-               for (i = 0, p = &list->objects[0];
-                    i < N_INTOBJECTS;
-                    i++, p++) {
+               for (ctr = 0, p = &list->objects[0];
+                    ctr < N_INTOBJECTS;
+                    ctr++, p++) {
                        if (PyInt_CheckExact(p) && p->ob_refcnt != 0)
                                irem++;
                }
@@ -1184,9 +1185,9 @@ PyInt_Fini(void)
                if (irem) {
                        list->next = block_list;
                        block_list = list;
-                       for (i = 0, p = &list->objects[0];
-                            i < N_INTOBJECTS;
-                            i++, p++) {
+                       for (ctr = 0, p = &list->objects[0];
+                            ctr < N_INTOBJECTS;
+                            ctr++, p++) {
                                if (!PyInt_CheckExact(p) ||
                                    p->ob_refcnt == 0) {
                                        p->ob_type = (struct _typeobject *)
@@ -1227,9 +1228,9 @@ PyInt_Fini(void)
        if (Py_VerboseFlag > 1) {
                list = block_list;
                while (list != NULL) {
-                       for (i = 0, p = &list->objects[0];
-                            i < N_INTOBJECTS;
-                            i++, p++) {
+                       for (ctr = 0, p = &list->objects[0];
+                            ctr < N_INTOBJECTS;
+                            ctr++, p++) {
                                if (PyInt_CheckExact(p) && p->ob_refcnt != 0)
                                        /* XXX(twouters) cast refcount to
                                           long until %zd is universally
index 634252f0d716fe120723a4756f465d1883392f4d..5ac570df3f4ae43aab7642cf06c671e53f12d44c 100644 (file)
@@ -419,7 +419,7 @@ _PyLong_NumBits(PyObject *vv)
                digit msd = v->ob_digit[ndigits - 1];
 
                result = (ndigits - 1) * SHIFT;
-               if (result / SHIFT != ndigits - 1)
+               if (result / SHIFT != (size_t)(ndigits - 1))
                        goto Overflow;
                do {
                        ++result;
@@ -953,7 +953,7 @@ PyLong_AsUnsignedLongLong(PyObject *vv)
 
        if (vv == NULL || !PyLong_Check(vv)) {
                PyErr_BadInternalCall();
-               return -1;
+               return (unsigned PY_LONG_LONG)-1;
        }
 
        res = _PyLong_AsByteArray(
index 9d4dc7410d3ec698f61f270077a7d9b3acd36bfd..ef3b825037eab7f2a445fedd304496ae563d6d74 100644 (file)
@@ -746,7 +746,7 @@ PyString_AsStringAndSize(register PyObject *obj,
        *s = PyString_AS_STRING(obj);
        if (len != NULL)
                *len = PyString_GET_SIZE(obj);
-       else if (strlen(*s) != PyString_GET_SIZE(obj)) {
+       else if (strlen(*s) != (size_t)PyString_GET_SIZE(obj)) {
                PyErr_SetString(PyExc_TypeError,
                                "expected string without null bytes");
                return -1;
index 47de3022ea06ae83bbcbbdb946d2af3156308991..8d2bf8cbb377d1fb7ff709efda8d056957b32b19 100644 (file)
@@ -1118,12 +1118,12 @@ set_mro_error(PyObject *to_merge, int *remain)
        off = PyOS_snprintf(buf, sizeof(buf), "Cannot create a \
 consistent method resolution\norder (MRO) for bases");
        i = 0;
-       while (PyDict_Next(set, &i, &k, &v) && off < sizeof(buf)) {
+       while (PyDict_Next(set, &i, &k, &v) && (size_t)off < sizeof(buf)) {
                PyObject *name = class_name(k);
                off += PyOS_snprintf(buf + off, sizeof(buf) - off, " %s",
                                     name ? PyString_AS_STRING(name) : "?");
                Py_XDECREF(name);
-               if (--n && off+1 < sizeof(buf)) {
+               if (--n && (size_t)(off+1) < sizeof(buf)) {
                        buf[off++] = ',';
                        buf[off] = '\0';
                }
@@ -5186,16 +5186,16 @@ slotptr(PyTypeObject *type, int ioffset)
 
        /* Note: this depends on the order of the members of PyHeapTypeObject! */
        assert(offset >= 0);
-       assert(offset < offsetof(PyHeapTypeObject, as_buffer));
-       if (offset >= offsetof(PyHeapTypeObject, as_sequence)) {
+       assert((size_t)offset < offsetof(PyHeapTypeObject, as_buffer));
+       if ((size_t)offset >= offsetof(PyHeapTypeObject, as_sequence)) {
                ptr = (char *)type->tp_as_sequence;
                offset -= offsetof(PyHeapTypeObject, as_sequence);
        }
-       else if (offset >= offsetof(PyHeapTypeObject, as_mapping)) {
+       else if ((size_t)offset >= offsetof(PyHeapTypeObject, as_mapping)) {
                ptr = (char *)type->tp_as_mapping;
                offset -= offsetof(PyHeapTypeObject, as_mapping);
        }
-       else if (offset >= offsetof(PyHeapTypeObject, as_number)) {
+       else if ((size_t)offset >= offsetof(PyHeapTypeObject, as_number)) {
                ptr = (char *)type->tp_as_number;
                offset -= offsetof(PyHeapTypeObject, as_number);
        }