X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/mLib-python/blobdiff_plain/20bce5e92b01cd928f26b61be78215117039c561..39bc54feaacca9c0cedbb2778cd72203294bf010:/atom-base.c diff --git a/atom-base.c b/atom-base.c index 44b915b..68ab64b 100644 --- a/atom-base.c +++ b/atom-base.c @@ -1,13 +1,11 @@ /* -*-c-*- - * - * $Id$ * * Atom stuff * * (c) 2005 Straylight/Edgeware */ -/*----- Licensing notice --------------------------------------------------* +/*----- Licensing notice --------------------------------------------------* * * This file is part of the Python interface to mLib. * @@ -15,12 +13,12 @@ * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. - * + * * mLib/Python is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with mLib/Python; if not, write to the Free Software Foundation, * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. @@ -39,8 +37,6 @@ /*----- Data structures ---------------------------------------------------*/ -static PyTypeObject atom_pytype; - typedef struct entry { assoc_base _b; PyObject *a; @@ -62,7 +58,7 @@ PyObject *atom_pywrap(atom *a) atom_pyobj *ao = PyObject_NEW(atom_pyobj, &atom_pytype); ao->a = a; e->a = (PyObject *)ao; - } + } RETURN_OBJ(e->a); } @@ -84,7 +80,7 @@ PyObject *atom_pyintern(PyObject *x) } static void atom_pydealloc(PyObject *me) - { fprintf(stderr, "ouch! freeing atom\n"); abort(); } + { fprintf(stderr, "ouch! freeing atom\n"); abort(); } static PyObject *atom_pynew(PyTypeObject *ty, PyObject *arg, PyObject *kw) { @@ -156,9 +152,9 @@ done: static long atom_pyhash(PyObject *me) { long h = ATOM_HASH(ATOM_A(me)); if (h == -1) h = -2; return (h); } -static PyTypeObject atom_pytype = { +PyTypeObject atom_pytype = { PyObject_HEAD_INIT(0) 0, /* Header */ - "atom.Atom", /* @tp_name@ */ + "mLib.Atom", /* @tp_name@ */ sizeof(atom_pyobj), /* @tp_basicsize@ */ 0, /* @tp_itemsize@ */ @@ -203,11 +199,7 @@ static PyTypeObject atom_pytype = { 0 /* @tp_is_gc@ */ }; -PyObject *atom_pystartup(void) -{ - assoc_create(&obarray); - PyType_Ready(&atom_pytype); - return ((PyObject *)&atom_pytype); -} +void atom_pysetup(void) + { assoc_create(&obarray); PyType_Ready(&atom_pytype); } /*----- That's all, folks -------------------------------------------------*/