]> granicus.if.org Git - python/commitdiff
Make PyGC_Collect() use Py_ssize_t.
authorNeal Norwitz <nnorwitz@gmail.com>
Sat, 4 Mar 2006 20:01:53 +0000 (20:01 +0000)
committerNeal Norwitz <nnorwitz@gmail.com>
Sat, 4 Mar 2006 20:01:53 +0000 (20:01 +0000)
Include/objimpl.h
Modules/gcmodule.c

index f6fd1a4db932a14e4d60356e43e84a544f7fa433..7c6819442d13aac1d09b45dd33d2cc4541486441 100644 (file)
@@ -229,7 +229,7 @@ PyAPI_FUNC(PyVarObject *) _PyObject_NewVar(PyTypeObject *, Py_ssize_t);
  */
 
 /* C equivalent of gc.collect(). */
-PyAPI_FUNC(long) PyGC_Collect(void);
+PyAPI_FUNC(Py_ssize_t) PyGC_Collect(void);
 
 /* Test if a type has a GC head */
 #define PyType_IS_GC(t) PyType_HasFeature((t), Py_TPFLAGS_HAVE_GC)
index bf879c954d23fcc67bdc24498f0b22cd63a62e96..444092e08db2b1660bf7f13d8791968b61a7b9e8 100644 (file)
@@ -196,11 +196,11 @@ gc_list_merge(PyGC_Head *from, PyGC_Head *to)
        gc_list_init(from);
 }
 
-static long
+static Py_ssize_t
 gc_list_size(PyGC_Head *list)
 {
        PyGC_Head *gc;
-       long n = 0;
+       Py_ssize_t n = 0;
        for (gc = list->gc.gc_next; gc != list; gc = gc->gc.gc_next) {
                n++;
        }
@@ -719,12 +719,12 @@ delete_garbage(PyGC_Head *collectable, PyGC_Head *old)
 
 /* This is the main function.  Read this to understand how the
  * collection process works. */
-static long
+static Py_ssize_t
 collect(int generation)
 {
        int i;
-       long m = 0;     /* # objects collected */
-       long n = 0;     /* # unreachable objects that couldn't be collected */
+       Py_ssize_t m = 0; /* # objects collected */
+       Py_ssize_t n = 0; /* # unreachable objects that couldn't be collected */
        PyGC_Head *young; /* the generation we are examining */
        PyGC_Head *old; /* next older generation */
        PyGC_Head unreachable; /* non-problematic unreachable trash */
@@ -856,11 +856,11 @@ collect(int generation)
        return n+m;
 }
 
-static long
+static Py_ssize_t
 collect_generations(void)
 {
        int i;
-       long n = 0;
+       Py_ssize_t n = 0;
 
        /* Find the oldest generation (higest numbered) where the count
         * exceeds the threshold.  Objects in the that generation and
@@ -919,7 +919,7 @@ PyDoc_STRVAR(gc_collect__doc__,
 static PyObject *
 gc_collect(PyObject *self, PyObject *noargs)
 {
-       long n;
+       Py_ssize_t n;
 
        if (collecting)
                n = 0; /* already collecting, don't do anything */
@@ -929,7 +929,7 @@ gc_collect(PyObject *self, PyObject *noargs)
                collecting = 0;
        }
 
-       return Py_BuildValue("l", n);
+       return PyInt_FromSsize_t(n);
 }
 
 PyDoc_STRVAR(gc_set_debug__doc__,
@@ -1181,10 +1181,10 @@ initgc(void)
 }
 
 /* API to invoke gc.collect() from C */
-long
+Py_ssize_t
 PyGC_Collect(void)
 {
-       long n;
+       Py_ssize_t n;
 
        if (collecting)
                n = 0; /* already collecting, don't do anything */