diff options
author | Guido van Rossum <guido@python.org> | 1992-08-04 12:41:02 +0000 |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 1992-08-04 12:41:02 +0000 |
commit | 1984f1e1c6306d4e8073c28d2395638f80ea509b (patch) | |
tree | 4366039e7665e689aef04549c3e3d73f99bdab32 /Modules/xxmodule.c | |
parent | 4fbf798f866b10ee50cc91a394d19c0d4b2f79ab (diff) | |
download | cpython-git-1984f1e1c6306d4e8073c28d2395638f80ea509b.tar.gz |
* Makefile adapted to changes below.
* split pythonmain.c in two: most stuff goes to pythonrun.c, in the library.
* new optional built-in threadmodule.c, build upon Sjoerd's thread.{c,h}.
* new module from Sjoerd: mmmodule.c (dynamically loaded).
* new module from Sjoerd: sv (svgen.py, svmodule.c.proto).
* new files thread.{c,h} (from Sjoerd).
* new xxmodule.c (example only).
* myselect.h: bzero -> memset
* select.c: bzero -> memset; removed global variable
Diffstat (limited to 'Modules/xxmodule.c')
-rw-r--r-- | Modules/xxmodule.c | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/Modules/xxmodule.c b/Modules/xxmodule.c new file mode 100644 index 0000000000..070a6222cb --- /dev/null +++ b/Modules/xxmodule.c @@ -0,0 +1,92 @@ +/*********************************************************** +Copyright 1991, 1992 by Stichting Mathematisch Centrum, Amsterdam, The +Netherlands. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the names of Stichting Mathematisch +Centrum or CWI not be used in advertising or publicity pertaining to +distribution of the software without specific, written prior permission. + +STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO +THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE +FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT +OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +******************************************************************/ + +/* xx module */ + +#include "allobjects.h" +#include "modsupport.h" + + +/* Function of two integers returning integer */ + +static object * +xx_foo(self, args) + object *self; /* Not used */ + object *args; +{ + long i, j; + long res; + if (!getargs(args, "(ll)", &i, &j)) + return NULL; + res = i+j; /* XXX Do something here */ + return newintobject(res); +} + + +/* Function of no arguments returning None */ + +static object * +xx_bar(self, args) + object *self; /* Not used */ + object *args; +{ + int i, j; + if (!getnoarg(args)) + return NULL; + /* XXX Do something here */ + INCREF(None); + return None; +} + + +/* List of functions defined in the module */ + +static struct methodlist xx_methods[] = { + {"foo", xx_foo}, + {"bar", xx_bar}, + {NULL, NULL} /* sentinel */ +}; + + +/* Initialization function for the module (*must* be called initxx) */ + +void +initxx() +{ + object *m, *d, *x; + + /* Create the module and add the functions */ + m = initmodule("xx", xx_methods); + + /* Add some symbolic constants to the module */ + d = getmoduledict(m); + x = newstringobject("xx.error"); + dictinsert(d, "error", x); + x = newintobject(42L); + dictinsert(d, "magic", x); + + /* Check for errors */ + if (err_occurred()) + fatal("can't initialize module xx"); +} |