chiark / gitweb /
Release 1.0.5.
[mLib-python] / atom-base.c
index 44b915b0cb7c489c3aeed1c223acd2df7255f4ae..68ab64bc4912c7d6acf7dfea421ccc40bf3f0a2a 100644 (file)
@@ -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.
  *
  * 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 -------------------------------------------------*/