_PyWeakref_GetWeakrefCount() now returns a Py_ssize_t instead of long.

This commit is contained in:
Neal Norwitz 2006-08-02 06:14:22 +00:00
parent 5fb9c20f2a
commit c5e060dee6
4 changed files with 9 additions and 6 deletions

View File

@ -62,7 +62,7 @@ PyAPI_FUNC(PyObject *) PyWeakref_NewProxy(PyObject *ob,
PyObject *callback);
PyAPI_FUNC(PyObject *) PyWeakref_GetObject(PyObject *ref);
PyAPI_FUNC(long) _PyWeakref_GetWeakrefCount(PyWeakReference *head);
PyAPI_FUNC(Py_ssize_t) _PyWeakref_GetWeakrefCount(PyWeakReference *head);
PyAPI_FUNC(void) _PyWeakref_ClearRef(PyWeakReference *self);

View File

@ -12,6 +12,9 @@ What's New in Python 2.5 beta 3?
Core and builtins
-----------------
- _PyWeakref_GetWeakrefCount() now returns a Py_ssize_t, it previously
returned a long (see PEP 353).
- Bug #1515471: string.replace() accepts character buffers again.
- Add PyErr_WarnEx() so C code can pass the stacklevel to warnings.warn().

View File

@ -17,7 +17,7 @@ weakref_getweakrefcount(PyObject *self, PyObject *object)
if (PyType_SUPPORTS_WEAKREFS(object->ob_type)) {
PyWeakReference **list = GET_WEAKREFS_LISTPTR(object);
result = PyInt_FromLong(_PyWeakref_GetWeakrefCount(*list));
result = PyInt_FromSsize_t(_PyWeakref_GetWeakrefCount(*list));
}
else
result = PyInt_FromLong(0);
@ -37,12 +37,12 @@ weakref_getweakrefs(PyObject *self, PyObject *object)
if (PyType_SUPPORTS_WEAKREFS(object->ob_type)) {
PyWeakReference **list = GET_WEAKREFS_LISTPTR(object);
long count = _PyWeakref_GetWeakrefCount(*list);
Py_ssize_t count = _PyWeakref_GetWeakrefCount(*list);
result = PyList_New(count);
if (result != NULL) {
PyWeakReference *current = *list;
long i;
Py_ssize_t i;
for (i = 0; i < count; ++i) {
PyList_SET_ITEM(result, i, (PyObject *) current);
Py_INCREF(current);

View File

@ -6,10 +6,10 @@
((PyWeakReference **) PyObject_GET_WEAKREFS_LISTPTR(o))
long
Py_ssize_t
_PyWeakref_GetWeakrefCount(PyWeakReference *head)
{
long count = 0;
Py_ssize_t count = 0;
while (head != NULL) {
++count;