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; }
drop(vv);
xfree(v);
}
- Py_DECREF(arg);
return (z);
}
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();
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);
}
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;
rc = 0;
}
done:
- Py_XDECREF(arg); Py_XDECREF(kw);
return ((PyObject *)rc);
}
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;
goto end;
if (rc != 0)
KEYERR(rc);
- Py_XDECREF(arg); Py_XDECREF(kw);
RETURN_ME;
end:
- Py_XDECREF(arg); Py_XDECREF(kw);
return (0);
}
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");
MP_DROP(v[i]);
xfree(v);
}
- Py_DECREF(me);
- Py_XDECREF(q);
return (z);
}
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");
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);
MP_DROP(v[i].m);
xfree(v);
}
- Py_XDECREF(q);
mp_drop(xx); mp_drop(y); mp_drop(g);
return (0);
}