• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*[clinic input]
2 preserve
3 [clinic start generated code]*/
4 
5 static PyObject *
6 structseq_new_impl(PyTypeObject *type, PyObject *arg, PyObject *dict);
7 
8 static PyObject *
structseq_new(PyTypeObject * type,PyObject * args,PyObject * kwargs)9 structseq_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
10 {
11     PyObject *return_value = NULL;
12     static const char * const _keywords[] = {"sequence", "dict", NULL};
13     static _PyArg_Parser _parser = {NULL, _keywords, "structseq", 0};
14     PyObject *argsbuf[2];
15     PyObject * const *fastargs;
16     Py_ssize_t nargs = PyTuple_GET_SIZE(args);
17     Py_ssize_t noptargs = nargs + (kwargs ? PyDict_GET_SIZE(kwargs) : 0) - 1;
18     PyObject *arg;
19     PyObject *dict = NULL;
20 
21     fastargs = _PyArg_UnpackKeywords(_PyTuple_CAST(args)->ob_item, nargs, kwargs, NULL, &_parser, 1, 2, 0, argsbuf);
22     if (!fastargs) {
23         goto exit;
24     }
25     arg = fastargs[0];
26     if (!noptargs) {
27         goto skip_optional_pos;
28     }
29     dict = fastargs[1];
30 skip_optional_pos:
31     return_value = structseq_new_impl(type, arg, dict);
32 
33 exit:
34     return return_value;
35 }
36 /*[clinic end generated code: output=ed3019acf49b656c input=a9049054013a1b77]*/
37