1 /*[clinic input]
2 preserve
3 [clinic start generated code]*/
4
5 static int
6 sock_initobj_impl(PySocketSockObject *self, int family, int type, int proto,
7 PyObject *fdobj);
8
9 static int
sock_initobj(PyObject * self,PyObject * args,PyObject * kwargs)10 sock_initobj(PyObject *self, PyObject *args, PyObject *kwargs)
11 {
12 int return_value = -1;
13 static const char * const _keywords[] = {"family", "type", "proto", "fileno", NULL};
14 static _PyArg_Parser _parser = {NULL, _keywords, "socket", 0};
15 PyObject *argsbuf[4];
16 PyObject * const *fastargs;
17 Py_ssize_t nargs = PyTuple_GET_SIZE(args);
18 Py_ssize_t noptargs = nargs + (kwargs ? PyDict_GET_SIZE(kwargs) : 0) - 0;
19 int family = -1;
20 int type = -1;
21 int proto = -1;
22 PyObject *fdobj = NULL;
23
24 fastargs = _PyArg_UnpackKeywords(_PyTuple_CAST(args)->ob_item, nargs, kwargs, NULL, &_parser, 0, 4, 0, argsbuf);
25 if (!fastargs) {
26 goto exit;
27 }
28 if (!noptargs) {
29 goto skip_optional_pos;
30 }
31 if (fastargs[0]) {
32 family = _PyLong_AsInt(fastargs[0]);
33 if (family == -1 && PyErr_Occurred()) {
34 goto exit;
35 }
36 if (!--noptargs) {
37 goto skip_optional_pos;
38 }
39 }
40 if (fastargs[1]) {
41 type = _PyLong_AsInt(fastargs[1]);
42 if (type == -1 && PyErr_Occurred()) {
43 goto exit;
44 }
45 if (!--noptargs) {
46 goto skip_optional_pos;
47 }
48 }
49 if (fastargs[2]) {
50 proto = _PyLong_AsInt(fastargs[2]);
51 if (proto == -1 && PyErr_Occurred()) {
52 goto exit;
53 }
54 if (!--noptargs) {
55 goto skip_optional_pos;
56 }
57 }
58 fdobj = fastargs[3];
59 skip_optional_pos:
60 return_value = sock_initobj_impl((PySocketSockObject *)self, family, type, proto, fdobj);
61
62 exit:
63 return return_value;
64 }
65 /*[clinic end generated code: output=2433d6ac51bc962a input=a9049054013a1b77]*/
66