*.c: Delete some pointless refcount twiddling.
authorMark Wooding <mdw@distorted.org.uk>
Sun, 24 Nov 2019 23:07:59 +0000 (23:07 +0000)
committerMark Wooding <mdw@distorted.org.uk>
Mon, 25 Nov 2019 17:51:32 +0000 (17:51 +0000)
catacomb.c
key.c
mp.c

index b3d7e52..d994347 100644 (file)
@@ -44,7 +44,6 @@ PyObject *mexp_common(PyObject *me, PyObject *arg,
 
   if (PyTuple_GET_SIZE(arg) == 1)
     arg = PyTuple_GET_ITEM(arg, 0);
-  Py_INCREF(arg);
   if (!PySequence_Check(arg)) TYERR("not a sequence");
   n = PySequence_Size(arg); if (n < 0) goto end;
   if (!n) { z = id(me); goto end; }
@@ -93,7 +92,6 @@ end:
       drop(vv);
     xfree(v);
   }
-  Py_DECREF(arg);
   return (z);
 }
 
diff --git a/key.c b/key.c
index 2d1e2ed..5ad05a9 100644 (file)
--- a/key.c
+++ b/key.c
@@ -1025,7 +1025,6 @@ static PyObject *keydatastruct_pynew(PyTypeObject *ty,
   key_data *kd = 0;
   static const char *const kwlist[] = { "subkeys", 0 };
 
-  Py_XINCREF(arg); Py_XINCREF(kw);
   if (!PyArg_ParseTupleAndKeywords(arg, kw, "|O:new", KWLIST, &sub))
     goto end;
   kd = key_newstruct();
@@ -1054,7 +1053,6 @@ static PyObject *keydatastruct_pynew(PyTypeObject *ty,
 end:
   if (kd && !me) key_drop(kd);
   Py_XDECREF(name); Py_XDECREF(val); Py_XDECREF(it);
-  Py_XDECREF(arg); Py_XDECREF(kw);
   return ((PyObject *)me);
 }
 
@@ -1646,7 +1644,6 @@ static PyObject *keyfile_pynew(PyTypeObject *ty,
   keyfile_pyobj *rc = 0;
   static const char *const kwlist[] = { "file", "how", "report", 0 };
 
-  Py_XINCREF(arg); Py_XINCREF(kw);
   if (!PyArg_ParseTupleAndKeywords(arg, kw, "s|iO:new", KWLIST,
                                   &file, &how, &ri.func))
     goto end;
@@ -1669,7 +1666,6 @@ end:
     rc = 0;
   }
 done:
-  Py_XDECREF(arg); Py_XDECREF(kw);
   return ((PyObject *)rc);
 }
 
@@ -1702,7 +1698,6 @@ static PyObject *kfmeth_mergeline(PyObject *me, PyObject *arg, PyObject *kw)
   int lno, rc;
   static const char *const kwlist[] = { "name", "lno", "line", "report", 0 };
 
-  Py_XINCREF(arg); Py_XINCREF(kw);
   if (!PyArg_ParseTupleAndKeywords(arg, kw, "sis|O:merge", KWLIST,
                                   &file, &lno, &line, &ri.func))
     goto end;
@@ -1713,11 +1708,9 @@ static PyObject *kfmeth_mergeline(PyObject *me, PyObject *arg, PyObject *kw)
     goto end;
   if (rc != 0)
     KEYERR(rc);
-  Py_XDECREF(arg); Py_XDECREF(kw);
   RETURN_ME;
 
 end:
-  Py_XDECREF(arg); Py_XDECREF(kw);
   return (0);
 }
 
diff --git a/mp.c b/mp.c
index 3abbcd5..59fce83 100644 (file)
--- a/mp.c
+++ b/mp.c
@@ -1783,12 +1783,10 @@ static PyObject *mcmeth_solve(PyObject *me, PyObject *arg)
   mp **v = 0;
   Py_ssize_t i = 0, n = c->k;
 
-  Py_INCREF(me);
   if (PyTuple_GET_SIZE(arg) == n)
     q = arg;
   else if (!PyArg_ParseTuple(arg, "O:solve", &q))
     goto end;
-  Py_INCREF(q);
   if (!PySequence_Check(q)) TYERR("want a sequence of residues");
   i = PySequence_Size(q); if (i < 0) goto end;
   if (i != n) VALERR("residue count mismatch");
@@ -1806,8 +1804,6 @@ end:
       MP_DROP(v[i]);
     xfree(v);
   }
-  Py_DECREF(me);
-  Py_XDECREF(q);
   return (z);
 }
 
@@ -1832,7 +1828,6 @@ static PyObject *mpcrt_pynew(PyTypeObject *ty, PyObject *arg, PyObject *kw)
     q = arg;
   else if (!PyArg_ParseTupleAndKeywords(arg, kw, "O:new", KWLIST, &q))
     goto end;
-  Py_INCREF(q);
   if (!PySequence_Check(q)) TYERR("want a sequence of moduli");
   n = PySequence_Size(q); if (n < 0) goto end;
   if (!n) VALERR("want at least one modulus");
@@ -1854,7 +1849,6 @@ static PyObject *mpcrt_pynew(PyTypeObject *ty, PyObject *arg, PyObject *kw)
 
   c = (mpcrt_pyobj *)ty->tp_alloc(ty, 0);
   mpcrt_create(&c->c, v, n, 0);
-  Py_DECREF(q);
   mp_drop(xx); mp_drop(y); mp_drop(g);
   return ((PyObject *)c);
 
@@ -1865,7 +1859,6 @@ end:
       MP_DROP(v[i].m);
     xfree(v);
   }
-  Py_XDECREF(q);
   mp_drop(xx); mp_drop(y); mp_drop(g);
   return (0);
 }