X-Git-Url: https://git.distorted.org.uk/~mdw/catacomb-python/blobdiff_plain/03ed9abbf0e1ccfc30a910f02c1d5e0cec4c7585..9ca1789eac7b1e6be29918e033b66d6328883575:/algorithms.c diff --git a/algorithms.c b/algorithms.c index 71b8e56..de7ab75 100644 --- a/algorithms.c +++ b/algorithms.c @@ -462,16 +462,16 @@ PyObject *gccipher_pywrap(gccipher *cc) { gccipher_pyobj *g = newtype(gccipher_pytype, 0, cc->name); g->cc = cc; - g->ty.type.tp_basicsize = sizeof(gcipher_pyobj); - g->ty.type.tp_base = gcipher_pytype; + g->ty.ht_type.tp_basicsize = sizeof(gcipher_pyobj); + g->ty.ht_type.tp_base = gcipher_pytype; Py_INCREF(gcipher_pytype); - g->ty.type.tp_flags = (Py_TPFLAGS_DEFAULT | - Py_TPFLAGS_BASETYPE | - Py_TPFLAGS_HEAPTYPE); - g->ty.type.tp_alloc = PyType_GenericAlloc; - g->ty.type.tp_free = 0; - g->ty.type.tp_new = gcipher_pynew; - PyType_Ready(&g->ty.type); + g->ty.ht_type.tp_flags = (Py_TPFLAGS_DEFAULT | + Py_TPFLAGS_BASETYPE | + Py_TPFLAGS_HEAPTYPE); + g->ty.ht_type.tp_alloc = PyType_GenericAlloc; + g->ty.ht_type.tp_free = 0; + g->ty.ht_type.tp_new = gcipher_pynew; + PyType_Ready(&g->ty.ht_type); return ((PyObject *)g); } @@ -706,16 +706,16 @@ PyObject *gchash_pywrap(gchash *ch) { gchash_pyobj *g = newtype(gchash_pytype, 0, ch->name); g->ch = ch; - g->ty.type.tp_basicsize = sizeof(ghash_pyobj); - g->ty.type.tp_base = ghash_pytype; + g->ty.ht_type.tp_basicsize = sizeof(ghash_pyobj); + g->ty.ht_type.tp_base = ghash_pytype; Py_INCREF(ghash_pytype); - g->ty.type.tp_flags = (Py_TPFLAGS_DEFAULT | - Py_TPFLAGS_BASETYPE | - Py_TPFLAGS_HEAPTYPE); - g->ty.type.tp_alloc = PyType_GenericAlloc; - g->ty.type.tp_free = 0; - g->ty.type.tp_new = ghash_pynew; - PyType_Ready(&g->ty.type); + g->ty.ht_type.tp_flags = (Py_TPFLAGS_DEFAULT | + Py_TPFLAGS_BASETYPE | + Py_TPFLAGS_HEAPTYPE); + g->ty.ht_type.tp_alloc = PyType_GenericAlloc; + g->ty.ht_type.tp_free = 0; + g->ty.ht_type.tp_new = ghash_pynew; + PyType_Ready(&g->ty.ht_type); return ((PyObject *)g); } @@ -961,16 +961,16 @@ PyObject *gcmac_pywrap(gcmac *cm) { gcmac_pyobj *g = newtype(gcmac_pytype, 0, cm->name); g->cm = cm; - g->ty.type.tp_basicsize = sizeof(gmac_pyobj); - g->ty.type.tp_base = gmac_pytype; + g->ty.ht_type.tp_basicsize = sizeof(gmac_pyobj); + g->ty.ht_type.tp_base = gmac_pytype; Py_INCREF(gmac_pytype); - g->ty.type.tp_flags = (Py_TPFLAGS_DEFAULT | - Py_TPFLAGS_BASETYPE | - Py_TPFLAGS_HEAPTYPE); - g->ty.type.tp_alloc = PyType_GenericAlloc; - g->ty.type.tp_free = 0; - g->ty.type.tp_new = gmac_pynew; - PyType_Ready(&g->ty.type); + g->ty.ht_type.tp_flags = (Py_TPFLAGS_DEFAULT | + Py_TPFLAGS_BASETYPE | + Py_TPFLAGS_HEAPTYPE); + g->ty.ht_type.tp_alloc = PyType_GenericAlloc; + g->ty.ht_type.tp_free = 0; + g->ty.ht_type.tp_new = gmac_pynew; + PyType_Ready(&g->ty.ht_type); return ((PyObject *)g); } @@ -980,17 +980,17 @@ PyObject *gmac_pywrap(PyObject *cobj, gmac *m, unsigned f) if (!cobj) cobj = gcmac_pywrap((/*unconst*/ gcmac *)GM_CLASS(m)); else Py_INCREF(cobj); g = newtype((PyTypeObject *)cobj, 0, 0); - g->ty.name = PyString_FromFormat("%s(keyed)", m->ops->c->name); - g->ty.type.tp_name = PyString_AS_STRING(g->ty.name); - g->ty.type.tp_base = gmhash_pytype; + g->ty.ht_name = PyString_FromFormat("%s(keyed)", m->ops->c->name); + g->ty.ht_type.tp_name = PyString_AS_STRING(g->ty.ht_name); + g->ty.ht_type.tp_base = gmhash_pytype; Py_INCREF(gmac_pytype); - g->ty.type.tp_flags = (Py_TPFLAGS_DEFAULT | - Py_TPFLAGS_BASETYPE | - Py_TPFLAGS_HEAPTYPE); - g->ty.type.tp_alloc = PyType_GenericAlloc; - g->ty.type.tp_free = 0; - g->ty.type.tp_new = gmhash_pynew; - PyType_Ready(&g->ty.type); + g->ty.ht_type.tp_flags = (Py_TPFLAGS_DEFAULT | + Py_TPFLAGS_BASETYPE | + Py_TPFLAGS_HEAPTYPE); + g->ty.ht_type.tp_alloc = PyType_GenericAlloc; + g->ty.ht_type.tp_free = 0; + g->ty.ht_type.tp_new = gmhash_pynew; + PyType_Ready(&g->ty.ht_type); g->m = m; g->f = f; return ((PyObject *)g); @@ -1250,16 +1250,16 @@ static PyObject *gcprp_pywrap(const prpinfo *prp) { gcprp_pyobj *g = newtype(gcprp_pytype, 0, prp->name); g->prp = prp; - g->ty.type.tp_basicsize = sizeof(gprp_pyobj) + prp->ctxsz; - g->ty.type.tp_base = gprp_pytype; + g->ty.ht_type.tp_basicsize = sizeof(gprp_pyobj) + prp->ctxsz; + g->ty.ht_type.tp_base = gprp_pytype; Py_INCREF(gprp_pytype); - g->ty.type.tp_flags = (Py_TPFLAGS_DEFAULT | - Py_TPFLAGS_BASETYPE | - Py_TPFLAGS_HEAPTYPE); - g->ty.type.tp_alloc = PyType_GenericAlloc; - g->ty.type.tp_free = 0; - g->ty.type.tp_new = gprp_pynew; - PyType_Ready(&g->ty.type); + g->ty.ht_type.tp_flags = (Py_TPFLAGS_DEFAULT | + Py_TPFLAGS_BASETYPE | + Py_TPFLAGS_HEAPTYPE); + g->ty.ht_type.tp_alloc = PyType_GenericAlloc; + g->ty.ht_type.tp_free = 0; + g->ty.ht_type.tp_new = gprp_pynew; + PyType_Ready(&g->ty.ht_type); return ((PyObject *)g); } @@ -1430,22 +1430,6 @@ void algorithms_pyinit(void) INITTYPE(gprp, root); } -#define GEN(func, base) \ - static PyObject *func(void) \ - { \ - PyObject *d = PyDict_New(); \ - PyObject *o; \ - int i; \ - \ - for (i = 0; g##base##tab[i]; i++) { \ - o = gc##base##_pywrap((/*unconst*/ gc##base *)g##base##tab[i]); \ - PyDict_SetItemString(d, \ - (/*unconst*/ char *)g##base##tab[i]->name, \ - o); \ - Py_DECREF(o); \ - } \ - return (d); \ - } GEN(gcciphers, cipher) GEN(gchashes, hash) GEN(gcmacs, mac)