[Python-checkins] r45504 - python/trunk/Objects/complexobject.c python/trunk/Objects/floatobject.c python/trunk/Objects/intobject.c python/trunk/Objects/longobject.c python/trunk/Objects/stringobject.c python/trunk/Objects/typeobject.c (original) (raw)
skip.montanaro python-checkins at python.org
Tue Apr 18 02:35:44 CEST 2006
- Previous message: [Python-checkins] r45503 - python/trunk/Include/modsupport.h
- Next message: [Python-checkins] r45505 - python/trunk/Modules/posixmodule.c
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Author: skip.montanaro Date: Tue Apr 18 02:35:43 2006 New Revision: 45504
Modified: python/trunk/Objects/complexobject.c python/trunk/Objects/floatobject.c python/trunk/Objects/intobject.c python/trunk/Objects/longobject.c python/trunk/Objects/stringobject.c python/trunk/Objects/typeobject.c Log: C++ compiler cleanup: bunch-o-casts, plus use of unsigned loop index var in a couple places
Modified: python/trunk/Objects/complexobject.c
--- python/trunk/Objects/complexobject.c (original) +++ python/trunk/Objects/complexobject.c Tue Apr 18 02:35:43 2006 @@ -688,7 +688,7 @@ } #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;
Modified: python/trunk/Objects/floatobject.c
--- python/trunk/Objects/floatobject.c (original) +++ python/trunk/Objects/floatobject.c Tue Apr 18 02:35:43 2006 @@ -97,7 +97,7 @@ } #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;
Modified: python/trunk/Objects/intobject.c
--- python/trunk/Objects/intobject.c (original) +++ python/trunk/Objects/intobject.c Tue Apr 18 02:35:43 2006 @@ -255,18 +255,18 @@ 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 @@ Py_DECREF(io); PyErr_SetString(PyExc_TypeError, "nb_int should return int object"); - return -1; + return (unsigned long)-1; } }
@@ -300,18 +300,18 @@ 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 @@ 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 @@ 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 @@ 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 @@ 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 @@ 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
Modified: python/trunk/Objects/longobject.c
--- python/trunk/Objects/longobject.c (original) +++ python/trunk/Objects/longobject.c Tue Apr 18 02:35:43 2006 @@ -419,7 +419,7 @@ 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 @@
if (vv == NULL || !PyLong_Check(vv)) {
PyErr_BadInternalCall();
return -1;
return (unsigned PY_LONG_LONG)-1; } res = _PyLong_AsByteArray(
Modified: python/trunk/Objects/stringobject.c
--- python/trunk/Objects/stringobject.c (original) +++ python/trunk/Objects/stringobject.c Tue Apr 18 02:35:43 2006 @@ -746,7 +746,7 @@ *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;
Modified: python/trunk/Objects/typeobject.c
--- python/trunk/Objects/typeobject.c (original)
+++ python/trunk/Objects/typeobject.c Tue Apr 18 02:35:43 2006
@@ -1118,12 +1118,12 @@
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 @@
/* 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); }
- Previous message: [Python-checkins] r45503 - python/trunk/Include/modsupport.h
- Next message: [Python-checkins] r45505 - python/trunk/Modules/posixmodule.c
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]