change abstract size functions PySequence_Size &c.
add macros for backwards compatibility with C source
diff --git a/Include/abstract.h b/Include/abstract.h
index 6b96adf..d1a1db3 100644
--- a/Include/abstract.h
+++ b/Include/abstract.h
@@ -381,11 +381,13 @@
equivalent to the Python expression: type(o).
*/
- DL_IMPORT(int) PyObject_Length(PyObject *o);
+ DL_IMPORT(int) PyObject_Size(PyObject *o);
+
+#define PyObject_Length(O) PyObject_Size((O))
/*
- Return the length of object o. If the object, o, provides
- both sequence and mapping protocols, the sequence length is
+ Return the size of object o. If the object, o, provides
+ both sequence and mapping protocols, the sequence size is
returned. On error, -1 is returned. This is the equivalent
to the Python expression: len(o).
@@ -681,10 +683,12 @@
*/
- DL_IMPORT(int) PySequence_Length(PyObject *o);
+ DL_IMPORT(int) PySequence_Size(PyObject *o);
+
+#define PySequence_Length(O) PySequence_Size((O))
/*
- Return the length of sequence object o, or -1 on failure.
+ Return the size of sequence object o, or -1 on failure.
*/
@@ -833,7 +837,9 @@
This function always succeeds.
*/
- DL_IMPORT(int) PyMapping_Length(PyObject *o);
+ DL_IMPORT(int) PyMapping_Size(PyObject *o);
+
+#define PyMapping_Length(O) PyMapping_Size((O))
/*
Returns the number of keys in object o on success, and -1 on
diff --git a/Objects/abstract.c b/Objects/abstract.c
index 5717815..2c7c307 100644
--- a/Objects/abstract.c
+++ b/Objects/abstract.c
@@ -62,7 +62,7 @@
}
int
-PyObject_Length(PyObject *o)
+PyObject_Size(PyObject *o)
{
PySequenceMethods *m;
@@ -75,7 +75,7 @@
if (m && m->sq_length)
return m->sq_length(o);
- return PyMapping_Length(o);
+ return PyMapping_Size(o);
}
PyObject *
@@ -803,7 +803,7 @@
}
int
-PySequence_Length(PyObject *s)
+PySequence_Size(PyObject *s)
{
PySequenceMethods *m;
@@ -1036,7 +1036,7 @@
if (m && m->sq_item) {
int i;
PyObject *t;
- int n = PySequence_Length(v);
+ int n = PySequence_Size(v);
if (n < 0)
return NULL;
t = PyTuple_New(n);
@@ -1087,7 +1087,7 @@
if (m && m->sq_item) {
int i;
PyObject *l;
- int n = PySequence_Length(v);
+ int n = PySequence_Size(v);
if (n < 0)
return NULL;
l = PyList_New(n);
@@ -1152,7 +1152,7 @@
return -1;
}
- l = PySequence_Length(s);
+ l = PySequence_Size(s);
if (l < 0)
return -1;
@@ -1232,7 +1232,7 @@
return -1;
}
- l = PySequence_Length(s);
+ l = PySequence_Size(s);
if (l < 0)
return -1;
@@ -1261,7 +1261,7 @@
}
int
-PyMapping_Length(PyObject *o)
+PyMapping_Size(PyObject *o)
{
PyMappingMethods *m;
diff --git a/Objects/object.c b/Objects/object.c
index 9194c90..0c50175 100644
--- a/Objects/object.c
+++ b/Objects/object.c
@@ -958,7 +958,7 @@
/* Hack to force loading of abstract.o */
-int (*_Py_abstract_hack)(PyObject *) = &PyObject_Length;
+int (*_Py_abstract_hack)(PyObject *) = &PyObject_Size;
/* Python's malloc wrappers (see mymalloc.h) */