[Python-checkins] python/dist/src/Python getargs.c,2.100,2.101
bcannon at users.sourceforge.net
bcannon at users.sourceforge.net
Sun Jul 11 00:20:49 CEST 2004
Update of /cvsroot/python/python/dist/src/Python
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10742/Python
Modified Files:
getargs.c
Log Message:
Add PyArg_VaParseTupleAndKeywords(). Document this function and
PyArg_VaParse().
Closes patch #550732. Thanks Greg Chapman.
Index: getargs.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Python/getargs.c,v
retrieving revision 2.100
retrieving revision 2.101
diff -C2 -d -r2.100 -r2.101
*** getargs.c 3 May 2003 10:00:22 -0000 2.100
--- getargs.c 10 Jul 2004 22:20:16 -0000 2.101
***************
*** 13,16 ****
--- 13,19 ----
int PyArg_ParseTupleAndKeywords(PyObject *, PyObject *,
char *, char **, ...);
+ int PyArg_VaParseTupleAndKeywords(PyObject *, PyObject *,
+ char *, char **, va_list);
+
/* Forward */
***************
*** 1154,1157 ****
--- 1157,1193 ----
+ 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
+ #ifdef __va_copy
+ __va_copy(lva, va);
+ #else
+ lva = va;
+ #endif
+ #endif
+
+ retval = vgetargskeywords(args, keywords, format, kwlist, &lva);
+ return retval;
+ }
+
+
static int
vgetargskeywords(PyObject *args, PyObject *keywords, char *format,
More information about the Python-checkins
mailing list