X-Git-Url: https://git.distorted.org.uk/~mdw/catacomb-python/blobdiff_plain/a4cc2ca5f36dfe675fd451606502b2479249463e..ef5ac0d93e594e8fdff9cf446dad39f1e7c811e3:/mp.c diff --git a/mp.c b/mp.c index 3093c83..265a5c8 100644 --- a/mp.c +++ b/mp.c @@ -202,7 +202,7 @@ end: return (rc); } -/*----- Python interface --------------------------------------------------*/ +/*----- Arbitrary-precision integers --------------------------------------*/ static void mp_pydealloc(PyObject *o) { @@ -1332,7 +1332,7 @@ fail: return (-1); } -static PyObject *mm_mexpr(PyObject *me, void *v, int n) +static PyObject *mm_mexpr(PyObject *me, void *v, size_t n) { return mp_pywrap(mpmont_mexpr(MPMONT_PY(me), MP_NEW, v, n)); } static void mp_mexp_drop(void *p) @@ -1372,7 +1372,7 @@ fail: return (-1); } -static PyObject *mm_mexp(PyObject *me, void *v, int n) +static PyObject *mm_mexp(PyObject *me, void *v, size_t n) { return mp_pywrap(mpmont_mexp(MPMONT_PY(me), MP_NEW, v, n)); } static PyObject *mmmeth_mexp(PyObject *me, PyObject *arg) @@ -1527,7 +1527,7 @@ end: return (rc); } -static PyObject *mb_mexp(PyObject *me, void *v, int n) +static PyObject *mb_mexp(PyObject *me, void *v, size_t n) { return mp_pywrap(mpbarrett_mexp(MPBARRETT_PY(me), MP_NEW, v, n)); } static PyObject *mbmeth_mexp(PyObject *me, PyObject *arg) @@ -1805,9 +1805,7 @@ static PyObject *mcmeth_solve(PyObject *me, PyObject *arg) z = mp_pywrap(mpcrt_solve(c, MP_NEW, v)); end: if (v) { - n = i; - for (i = 0; i < n; i++) - MP_DROP(v[i]); + while (i--) MP_DROP(v[i]); xfree(v); } return (z); @@ -1860,9 +1858,7 @@ static PyObject *mpcrt_pynew(PyTypeObject *ty, PyObject *arg, PyObject *kw) end: if (v) { - n = i; - for (i = 0; i < n; i++) - MP_DROP(v[i].m); + while (i--) MP_DROP(v[i].m); xfree(v); } mp_drop(xx); mp_drop(y); mp_drop(g);