(original) (raw)

diff -c orig/getargs.c patches/getargs.c *** orig/getargs.c Sun Dec 2 16:43:32 2001 --- patches/getargs.c Tue Apr 30 11:08:13 2002 *************** *** 1029,1034 **** --- 1029,1063 ---- } + int + PyArg_VaParseTupleAndKeywords(PyObject *args, + PyObject *keywords, + char *format, + char **kwlist, va_list va) + { + int retval; + va_list lva; + + if ((args == NULL || !PyTuple_Check(args)) || + (keywords != NULL && !PyDict_Check(keywords)) || + format == NULL || + kwlist == NULL) + { + PyErr_BadInternalCall(); + return 0; + } + + #ifdef VA_LIST_IS_ARRAY + memcpy(lva, va, sizeof(va_list)); + #else + lva = va; + #endif + + retval = vgetargskeywords(args, keywords, format, kwlist, &lva); + return retval; + } + + static int vgetargskeywords(PyObject *args, PyObject *keywords, char *format, char **kwlist, va_list *p_va) diff -c orig/modsupport.h patches/modsupport.h *** orig/modsupport.h Tue Oct 23 14:09:28 2001 --- patches/modsupport.h Tue Apr 30 11:04:25 2002 *************** *** 18,23 **** --- 18,25 ---- extern DL_IMPORT(int) PyArg_VaParse(PyObject *, char *, va_list); extern DL_IMPORT(PyObject *) Py_VaBuildValue(char *, va_list); + extern DL_IMPORT(int) PyArg_VaParseTupleAndKeywords(PyObject *, PyObject *, + char *, char **, va_list); extern DL_IMPORT(int) PyModule_AddObject(PyObject *, char *, PyObject *); extern DL_IMPORT(int) PyModule_AddIntConstant(PyObject *, char *, long);