summaryrefslogtreecommitdiffstats
path: root/Mac/Modules/calldll.c
diff options
context:
space:
mode:
Diffstat (limited to 'Mac/Modules/calldll.c')
-rw-r--r--Mac/Modules/calldll.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/Mac/Modules/calldll.c b/Mac/Modules/calldll.c
index 63c2e77..dc4d2b0 100644
--- a/Mac/Modules/calldll.c
+++ b/Mac/Modules/calldll.c
@@ -65,7 +65,7 @@ typedef anything (*anyroutine) Py_PROTO((...));
/* Other constants */
#define MAXNAME 31 /* Maximum size of names, for printing only */
-#define MAXARG 8 /* Maximum number of arguments */
+#define MAXARG 12 /* Maximum number of arguments */
/*
** Routines to convert arguments between Python and C.
@@ -666,7 +666,7 @@ cdc_call(self, args, kwargs)
{
char buf[256];
int i, pargindex;
- anything c_args[MAXARG] = {0, 0, 0, 0, 0, 0, 0, 0};
+ anything c_args[MAXARG] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
anything c_rv;
conventry *cp;
PyObject *curarg;
@@ -706,7 +706,8 @@ cdc_call(self, args, kwargs)
/* Call function */
func = self->routine->rtn;
c_rv = (*func)(c_args[0], c_args[1], c_args[2], c_args[3],
- c_args[4], c_args[5], c_args[6], c_args[7]);
+ c_args[4], c_args[5], c_args[6], c_args[7],
+ c_args[8], c_args[9], c_args[10], c_args[11]);
/* Decode return value, and store into returnvalues if needed */
pargindex = 0;
@@ -1066,17 +1067,19 @@ cdll_newcall(self, args)
PyObject *args;
{
cdrobject *routine;
- conventry *argconv[MAXARG] = {0, 0, 0, 0, 0, 0, 0, 0};
+ conventry *argconv[MAXARG] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
rv2py_converter rvconv;
int npargs, ncargs;
/* Note: the next format depends on MAXARG */
- if (!PyArg_ParseTuple(args, "O!O&|O&O&O&O&O&O&O&O&", &Cdrtype, &routine,
+ if (!PyArg_ParseTuple(args, "O!O&|O&O&O&O&O&O&O&O&O&O&O&O&", &Cdrtype, &routine,
argparse_rvconv, &rvconv,
argparse_conv, &argconv[0], argparse_conv, &argconv[1],
argparse_conv, &argconv[2], argparse_conv, &argconv[3],
argparse_conv, &argconv[4], argparse_conv, &argconv[5],
- argparse_conv, &argconv[6], argparse_conv, &argconv[7]))
+ argparse_conv, &argconv[6], argparse_conv, &argconv[7],
+ argparse_conv, &argconv[8], argparse_conv, &argconv[9],
+ argparse_conv, &argconv[10], argparse_conv, &argconv[11]))
return NULL;
npargs = 0;
for(ncargs=0; ncargs < MAXARG && argconv[ncargs]; ncargs++) {