From 896fc7ed4a75469bbc70906eb1aeffbf275d2f9e Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Sat, 30 Sep 1995 17:01:02 +0000 Subject: re-enable new.code(...) with new args --- Modules/newmodule.c | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/Modules/newmodule.c b/Modules/newmodule.c index 92d7870..98e5f72 100644 --- a/Modules/newmodule.c +++ b/Modules/newmodule.c @@ -91,28 +91,43 @@ new_function(unused, args) return (object *)newfunc; } +#endif static char new_code_doc[] = -"Create a code object from (CODESTRING, CONSTANTS, NAMES, FILENAME, NAME)."; +"Create a code object from (ARGCOUNT, NLOCALS, FLAGS, CODESTRING, CONSTANTS, NAMES, VARNAMES, FILENAME, NAME)."; static object * new_code(unused, args) object* unused; object* args; { + int argcount; + int nlocals; + int flags; object* code; object* consts; object* names; + object* varnames; object* filename; object* name; +#if 0 if (!newgetargs(args, "SO!O!SS", &code, &Tupletype, &consts, &Tupletype, &names, &filename, &name)) return NULL; return (object *)newcodeobject(code, consts, names, filename, name); -} +#else + if (!newgetargs(args, "iiiSO!O!O!SS", + &argcount, &nlocals, &flags, /* These are new */ + &code, &Tupletype, &consts, &Tupletype, &names, + &Tupletype, &varnames, /* These are new */ + &filename, &name)) + return NULL; + return (object *)newcodeobject(argcount, nlocals, flags, + code, consts, names, varnames, filename, name); #endif +} static char new_module_doc[] = "Create a module object from (NAME)."; @@ -133,8 +148,8 @@ static struct methodlist new_methods[] = { {"instancemethod", new_instancemethod, 1, new_im_doc}, #if 0 {"function", new_function, 1, new_function_doc}, - {"code", new_code, 1, new_code_doc}, #endif + {"code", new_code, 1, new_code_doc}, {"module", new_module, 1, new_module_doc}, {NULL, NULL} /* sentinel */ }; -- cgit v0.12