OLD | NEW |
1 | 1 |
2 /* New getargs implementation */ | 2 /* New getargs implementation */ |
3 | 3 |
4 #include "Python.h" | 4 #include "Python.h" |
5 | 5 |
6 #include <ctype.h> | 6 #include <ctype.h> |
7 | 7 |
8 | 8 |
9 #ifdef __cplusplus | 9 #ifdef __cplusplus |
10 extern "C" { | 10 extern "C" { |
11 #endif | 11 #endif |
12 int PyArg_Parse(PyObject *, const char *, ...); | 12 int PyArg_Parse(PyObject *, const char *, ...); |
13 int PyArg_ParseTuple(PyObject *, const char *, ...); | 13 int PyArg_ParseTuple(PyObject *, const char *, ...); |
14 int PyArg_VaParse(PyObject *, const char *, va_list); | 14 int PyArg_VaParse(PyObject *, const char *, va_list); |
15 | 15 |
16 int PyArg_ParseTupleAndKeywords(PyObject *, PyObject *, | 16 int PyArg_ParseTupleAndKeywords(PyObject *, PyObject *, |
17 const char *, char **, ...); | 17 const char *, char **, ...); |
18 int PyArg_VaParseTupleAndKeywords(PyObject *, PyObject *, | 18 int PyArg_VaParseTupleAndKeywords(PyObject *, PyObject *, |
19 const char *, char **, va_list); | 19 const char *, char **, va_list); |
20 | 20 |
21 #ifdef HAVE_DECLSPEC_DLL | |
22 /* Export functions */ | 21 /* Export functions */ |
23 PyAPI_FUNC(int) _PyArg_Parse_SizeT(PyObject *, char *, ...); | 22 PyAPI_FUNC(int) _PyArg_Parse_SizeT(PyObject *, char *, ...); |
24 PyAPI_FUNC(int) _PyArg_ParseTuple_SizeT(PyObject *, char *, ...); | 23 PyAPI_FUNC(int) _PyArg_ParseTuple_SizeT(PyObject *, char *, ...); |
25 PyAPI_FUNC(int) _PyArg_ParseTupleAndKeywords_SizeT(PyObject *, PyObject *, | 24 PyAPI_FUNC(int) _PyArg_ParseTupleAndKeywords_SizeT(PyObject *, PyObject *, |
26 const char *, char **, ...); | 25 const char *, char **, ...); |
27 PyAPI_FUNC(PyObject *) _Py_BuildValue_SizeT(const char *, ...); | 26 PyAPI_FUNC(PyObject *) _Py_BuildValue_SizeT(const char *, ...); |
28 PyAPI_FUNC(int) _PyArg_VaParse_SizeT(PyObject *, char *, va_list); | 27 PyAPI_FUNC(int) _PyArg_VaParse_SizeT(PyObject *, char *, va_list); |
29 PyAPI_FUNC(int) _PyArg_VaParseTupleAndKeywords_SizeT(PyObject *, PyObject *, | 28 PyAPI_FUNC(int) _PyArg_VaParseTupleAndKeywords_SizeT(PyObject *, PyObject *, |
30 const char *, char **, va_list); | 29 const char *, char **, va_list); |
31 #endif | |
32 | 30 |
33 #define FLAG_COMPAT 1 | 31 #define FLAG_COMPAT 1 |
34 #define FLAG_SIZE_T 2 | 32 #define FLAG_SIZE_T 2 |
35 | 33 |
36 | 34 |
37 /* Forward */ | 35 /* Forward */ |
38 static int vgetargs1(PyObject *, const char *, va_list *, int); | 36 static int vgetargs1(PyObject *, const char *, va_list *, int); |
39 static void seterror(int, const char *, int *, const char *, const char *); | 37 static void seterror(int, const char *, int *, const char *, const char *); |
40 static char *convertitem(PyObject *, const char **, va_list *, int, int *, | 38 static char *convertitem(PyObject *, const char **, va_list *, int, int *, |
41 char *, size_t, PyObject **); | 39 char *, size_t, PyObject **); |
(...skipping 1742 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1784 if (PyDict_Size(kw) == 0) | 1782 if (PyDict_Size(kw) == 0) |
1785 return 1; | 1783 return 1; |
1786 | 1784 |
1787 PyErr_Format(PyExc_TypeError, "%s does not take keyword arguments", | 1785 PyErr_Format(PyExc_TypeError, "%s does not take keyword arguments", |
1788 funcname); | 1786 funcname); |
1789 return 0; | 1787 return 0; |
1790 } | 1788 } |
1791 #ifdef __cplusplus | 1789 #ifdef __cplusplus |
1792 }; | 1790 }; |
1793 #endif | 1791 #endif |
OLD | NEW |