[Python-checkins] commit of r41773 - in python/branches/ssize_t: Include/object.h Modules/_elementtree.c Modules/arraymodule.c Modules/collectionsmodule.c Modules/mmapmodule.c Objects/bufferobject.c Objects/classobject.c Objects/listobject.c Objects/typeobject.c Python/getargs.c
martin.v.loewis
python-checkins at python.org
Tue Dec 20 08:20:43 CET 2005
Author: martin.v.loewis
Date: Tue Dec 20 08:20:38 2005
New Revision: 41773
Modified:
python/branches/ssize_t/Include/object.h
python/branches/ssize_t/Modules/_elementtree.c
python/branches/ssize_t/Modules/arraymodule.c
python/branches/ssize_t/Modules/collectionsmodule.c
python/branches/ssize_t/Modules/mmapmodule.c
python/branches/ssize_t/Objects/bufferobject.c
python/branches/ssize_t/Objects/classobject.c
python/branches/ssize_t/Objects/listobject.c
python/branches/ssize_t/Objects/typeobject.c
python/branches/ssize_t/Python/getargs.c
Log:
Make ass_item use Py_ssize_t also.
Modified: python/branches/ssize_t/Include/object.h
==============================================================================
--- python/branches/ssize_t/Include/object.h (original)
+++ python/branches/ssize_t/Include/object.h Tue Dec 20 08:20:38 2005
@@ -135,7 +135,7 @@
typedef PyObject *(*ssizessizeargfunc)(PyObject *, Py_ssize_t, Py_ssize_t);
typedef int(*intobjargproc)(PyObject *, int, PyObject *);
typedef int(*intintobjargproc)(PyObject *, int, int, PyObject *);
-typedef int(*sizeobjargproc)(PyObject *, size_t, PyObject *);
+typedef int(*ssizeobjargproc)(PyObject *, Py_ssize_t, PyObject *);
typedef int(*ssizessizeobjargproc)(PyObject *, Py_ssize_t, Py_ssize_t, PyObject *);
typedef int(*objobjargproc)(PyObject *, PyObject *, PyObject *);
typedef Py_ssize_t (*getreadbufferproc)(PyObject *, int, void **);
@@ -205,7 +205,7 @@
ssizeargfunc sq_repeat;
ssizeargfunc sq_item;
ssizessizeargfunc sq_slice;
- sizeobjargproc sq_ass_item;
+ ssizeobjargproc sq_ass_item;
ssizessizeobjargproc sq_ass_slice;
objobjproc sq_contains;
/* Added in release 2.0 */
Modified: python/branches/ssize_t/Modules/_elementtree.c
==============================================================================
--- python/branches/ssize_t/Modules/_elementtree.c (original)
+++ python/branches/ssize_t/Modules/_elementtree.c Tue Dec 20 08:20:38 2005
@@ -916,7 +916,7 @@
}
static PyObject*
-element_getitem(ElementObject* self, int index)
+element_getitem(ElementObject* self, Py_ssize_t index)
{
if (!self->extra || index < 0 || index >= self->extra->length) {
PyErr_SetString(
@@ -931,9 +931,9 @@
}
static PyObject*
-element_getslice(ElementObject* self, int start, int end)
+element_getslice(ElementObject* self, Py_ssize_t start, Py_ssize_t end)
{
- int i;
+ Py_ssize_t i;
PyObject* list;
if (!self->extra)
@@ -1158,7 +1158,7 @@
}
static int
-element_setslice(ElementObject* self, int start, int end, PyObject* item)
+element_setslice(ElementObject* self, Py_ssize_t start, Py_ssize_t end, PyObject* item)
{
int i, new, old;
PyObject* recycle = NULL;
@@ -2142,7 +2142,7 @@
for (i = 0; i < 256; i++)
s[i] = i;
- u = PyUnicode_Decode(s, 256, name, "replace");
+ u = PyUnicode_Decode((char*)s, 256, name, "replace");
if (!u)
return XML_STATUS_ERROR;
Modified: python/branches/ssize_t/Modules/arraymodule.c
==============================================================================
--- python/branches/ssize_t/Modules/arraymodule.c (original)
+++ python/branches/ssize_t/Modules/arraymodule.c Tue Dec 20 08:20:38 2005
@@ -760,9 +760,8 @@
#undef b
}
-/* XXX should be ssize_t */
static int
-array_ass_item(arrayobject *a, size_t i, PyObject *v)
+array_ass_item(arrayobject *a, Py_ssize_t i, PyObject *v)
{
if (i < 0 || i >= a->ob_size) {
PyErr_SetString(PyExc_IndexError,
@@ -1707,7 +1706,7 @@
if (av->ob_size != slicelength) {
PyErr_Format(PyExc_ValueError,
"attempt to assign array of size %ld to extended slice of size %ld",
- av->ob_size, slicelength);
+ /*XXX*/(long)av->ob_size, /*XXX*/(long)slicelength);
return -1;
}
@@ -1786,7 +1785,7 @@
(ssizeargfunc)array_repeat, /*sq_repeat*/
(ssizeargfunc)array_item, /*sq_item*/
(ssizessizeargfunc)array_slice, /*sq_slice*/
- (sizeobjargproc)array_ass_item, /*sq_ass_item*/
+ (ssizeobjargproc)array_ass_item, /*sq_ass_item*/
(ssizessizeobjargproc)array_ass_slice, /*sq_ass_slice*/
(objobjproc)array_contains, /*sq_contains*/
(binaryfunc)array_inplace_concat, /*sq_inplace_concat*/
Modified: python/branches/ssize_t/Modules/collectionsmodule.c
==============================================================================
--- python/branches/ssize_t/Modules/collectionsmodule.c (original)
+++ python/branches/ssize_t/Modules/collectionsmodule.c Tue Dec 20 08:20:38 2005
@@ -314,7 +314,7 @@
"Extend the left side of the deque with elements from the iterable");
static int
-_deque_rotate(dequeobject *deque, int n)
+_deque_rotate(dequeobject *deque, Py_ssize_t n)
{
int i, len=deque->len, halflen=(len+1)>>1;
PyObject *item, *rv;
@@ -374,7 +374,7 @@
static PyObject *
deque_remove(dequeobject *deque, PyObject *value)
{
- int i, n=deque->len;
+ Py_ssize_t i, n=deque->len;
for (i=0 ; i<n ; i++) {
PyObject *item = deque->leftblock->data[deque->leftindex];
@@ -469,7 +469,7 @@
*/
static int
-deque_del_item(dequeobject *deque, int i)
+deque_del_item(dequeobject *deque, Py_ssize_t i)
{
PyObject *item;
@@ -485,7 +485,7 @@
}
static int
-deque_ass_item(dequeobject *deque, int i, PyObject *v)
+deque_ass_item(dequeobject *deque, Py_ssize_t i, PyObject *v)
{
PyObject *old_value;
block *b;
@@ -781,7 +781,7 @@
0, /* sq_repeat */
(ssizeargfunc)deque_item, /* sq_item */
0, /* sq_slice */
- (sizeobjargproc)deque_ass_item, /* sq_ass_item */
+ (ssizeobjargproc)deque_ass_item, /* sq_ass_item */
};
/* deque object ********************************************************/
Modified: python/branches/ssize_t/Modules/mmapmodule.c
==============================================================================
--- python/branches/ssize_t/Modules/mmapmodule.c (original)
+++ python/branches/ssize_t/Modules/mmapmodule.c Tue Dec 20 08:20:38 2005
@@ -641,7 +641,7 @@
}
static PyObject *
-mmap_item(mmap_object *self, int i)
+mmap_item(mmap_object *self, Py_ssize_t i)
{
CHECK_VALID(NULL);
if (i < 0 || (size_t)i >= self->size) {
@@ -652,7 +652,7 @@
}
static PyObject *
-mmap_slice(mmap_object *self, int ilow, int ihigh)
+mmap_slice(mmap_object *self, Py_ssize_t ilow, Py_ssize_t ihigh)
{
CHECK_VALID(NULL);
if (ilow < 0)
@@ -679,7 +679,7 @@
}
static PyObject *
-mmap_repeat(mmap_object *self, int n)
+mmap_repeat(mmap_object *self, Py_ssize_t n)
{
CHECK_VALID(NULL);
PyErr_SetString(PyExc_SystemError,
@@ -688,7 +688,7 @@
}
static int
-mmap_ass_slice(mmap_object *self, int ilow, int ihigh, PyObject *v)
+mmap_ass_slice(mmap_object *self, Py_ssize_t ilow, Py_ssize_t ihigh, PyObject *v)
{
const char *buf;
@@ -727,7 +727,7 @@
}
static int
-mmap_ass_item(mmap_object *self, int i, PyObject *v)
+mmap_ass_item(mmap_object *self, Py_ssize_t i, PyObject *v)
{
const char *buf;
@@ -757,10 +757,10 @@
(inquiry)mmap_length, /*sq_length*/
(binaryfunc)mmap_concat, /*sq_concat*/
(ssizeargfunc)mmap_repeat, /*sq_repeat*/
- (ssizeargfunc)mmap_item, /*sq_item*/
+ (ssizeargfunc)mmap_item, /*sq_item*/
(ssizessizeargfunc)mmap_slice, /*sq_slice*/
- (sizeobjargproc)mmap_ass_item, /*sq_ass_item*/
- (ssizessizeobjargproc)mmap_ass_slice, /*sq_ass_slice*/
+ (ssizeobjargproc)mmap_ass_item, /*sq_ass_item*/
+ (ssizessizeobjargproc)mmap_ass_slice, /*sq_ass_slice*/
};
static PyBufferProcs mmap_as_buffer = {
Modified: python/branches/ssize_t/Objects/bufferobject.c
==============================================================================
--- python/branches/ssize_t/Objects/bufferobject.c (original)
+++ python/branches/ssize_t/Objects/bufferobject.c Tue Dec 20 08:20:38 2005
@@ -445,7 +445,7 @@
if (!get_buf(self, &ptr1, &size))
return -1;
- if (idx >= size) {
+ if (idx < 0 || idx >= size) {
PyErr_SetString(PyExc_IndexError,
"buffer assignment index out of range");
return -1;
@@ -599,7 +599,7 @@
(ssizeargfunc)buffer_repeat, /*sq_repeat*/
(ssizeargfunc)buffer_item, /*sq_item*/
(ssizessizeargfunc)buffer_slice, /*sq_slice*/
- (sizeobjargproc)buffer_ass_item, /*sq_ass_item*/
+ (ssizeobjargproc)buffer_ass_item, /*sq_ass_item*/
(ssizessizeobjargproc)buffer_ass_slice, /*sq_ass_slice*/
};
Modified: python/branches/ssize_t/Objects/classobject.c
==============================================================================
--- python/branches/ssize_t/Objects/classobject.c (original)
+++ python/branches/ssize_t/Objects/classobject.c Tue Dec 20 08:20:38 2005
@@ -1145,7 +1145,7 @@
static PyObject *
-instance_slice(PyInstanceObject *inst, int i, int j)
+instance_slice(PyInstanceObject *inst, Py_ssize_t i, Py_ssize_t j)
{
PyObject *func, *arg, *res;
static PyObject *getslicestr;
@@ -1179,7 +1179,7 @@
}
static int
-instance_ass_item(PyInstanceObject *inst, int i, PyObject *item)
+instance_ass_item(PyInstanceObject *inst, Py_ssize_t i, PyObject *item)
{
PyObject *func, *arg, *res;
@@ -1213,7 +1213,7 @@
}
static int
-instance_ass_slice(PyInstanceObject *inst, int i, int j, PyObject *value)
+instance_ass_slice(PyInstanceObject *inst, Py_ssize_t i, Py_ssize_t j, PyObject *value)
{
PyObject *func, *arg, *res;
static PyObject *setslicestr, *delslicestr;
@@ -1327,7 +1327,7 @@
0, /* sq_repeat */
(ssizeargfunc)instance_item, /* sq_item */
(ssizessizeargfunc)instance_slice, /* sq_slice */
- (sizeobjargproc)instance_ass_item, /* sq_ass_item */
+ (ssizeobjargproc)instance_ass_item, /* sq_ass_item */
(ssizessizeobjargproc)instance_ass_slice,/* sq_ass_slice */
(objobjproc)instance_contains, /* sq_contains */
};
Modified: python/branches/ssize_t/Objects/listobject.c
==============================================================================
--- python/branches/ssize_t/Objects/listobject.c (original)
+++ python/branches/ssize_t/Objects/listobject.c Tue Dec 20 08:20:38 2005
@@ -2438,7 +2438,7 @@
(ssizeargfunc)list_repeat, /* sq_repeat */
(ssizeargfunc)list_item, /* sq_item */
(ssizessizeargfunc)list_slice, /* sq_slice */
- (sizeobjargproc)list_ass_item, /* sq_ass_item */
+ (ssizeobjargproc)list_ass_item, /* sq_ass_item */
(ssizessizeobjargproc)list_ass_slice, /* sq_ass_slice */
(objobjproc)list_contains, /* sq_contains */
(binaryfunc)list_inplace_concat, /* sq_inplace_concat */
Modified: python/branches/ssize_t/Objects/typeobject.c
==============================================================================
--- python/branches/ssize_t/Objects/typeobject.c (original)
+++ python/branches/ssize_t/Objects/typeobject.c Tue Dec 20 08:20:38 2005
@@ -4102,7 +4102,7 @@
/* Super-optimized version of slot_sq_item.
Other slots could do the same... */
static PyObject *
-slot_sq_item(PyObject *self, int i)
+slot_sq_item(PyObject *self, Py_ssize_t i)
{
static PyObject *getitem_str;
PyObject *func, *args = NULL, *ival = NULL, *retval = NULL;
@@ -4144,10 +4144,10 @@
return NULL;
}
-SLOT2(slot_sq_slice, "__getslice__", int, int, "ii")
+SLOT2(slot_sq_slice, "__getslice__", Py_ssize_t, Py_ssize_t, "nn")
static int
-slot_sq_ass_item(PyObject *self, int index, PyObject *value)
+slot_sq_ass_item(PyObject *self, Py_ssize_t index, PyObject *value)
{
PyObject *res;
static PyObject *delitem_str, *setitem_str;
@@ -4165,7 +4165,7 @@
}
static int
-slot_sq_ass_slice(PyObject *self, int i, int j, PyObject *value)
+slot_sq_ass_slice(PyObject *self, Py_ssize_t i, Py_ssize_t j, PyObject *value)
{
PyObject *res;
static PyObject *delslice_str, *setslice_str;
Modified: python/branches/ssize_t/Python/getargs.c
==============================================================================
--- python/branches/ssize_t/Python/getargs.c (original)
+++ python/branches/ssize_t/Python/getargs.c Tue Dec 20 08:20:38 2005
@@ -652,7 +652,7 @@
break;
}
#endif
- /* Fall through from 'L' to 'l' if Py_ssize_t is int */
+ /* Fall through from 'n' to 'l' if Py_ssize_t is int */
case 'l': {/* long int */
long *p = va_arg(*p_va, long *);
long ival;
More information about the Python-checkins
mailing list