]> granicus.if.org Git - python/commitdiff
_PyWeakref_GetWeakrefCount() now returns a Py_ssize_t instead of long.
authorNeal Norwitz <nnorwitz@gmail.com>
Wed, 2 Aug 2006 06:14:22 +0000 (06:14 +0000)
committerNeal Norwitz <nnorwitz@gmail.com>
Wed, 2 Aug 2006 06:14:22 +0000 (06:14 +0000)
Include/weakrefobject.h
Misc/NEWS
Modules/_weakref.c
Objects/weakrefobject.c

index daf490f50c2e61ff3962ca177687af9706c4d545..0a659b027ce40e51078cb647ae71c2e5f8875f36 100644 (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);
 
index f2a318ec08d4377029f4075b6e5a4e7baf6c50a1..81f7ca41f307d637ffd0d61eb495c1043d7a36ee 100644 (file)
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -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().
index 2dfdc1424dbda103d8a05ad08fab229ff449add6..1712f12c0d4d8fec7492cf8266a08ae01db4a30c 100644 (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);
index bbeb3c070c39e1b5e226955235e0c270a2b69880..826f5710dcf37f7a89482a88f79b037887126eaf 100644 (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;