Mercurial > cpython-lru_cache-weakref
comparison Modules/socketmodule.c @ 68660:2af7a6d765fd 3.2
Issue #5421: merge fix
| author | Antoine Pitrou <solipsis@pitrou.net> |
|---|---|
| date | Thu, 17 Mar 2011 22:40:18 +0100 |
| parents | dc245d681901 c61b72b0650d |
| children | 713006ecee0c 90cdc371a3b8 |
comparison
equal
deleted
inserted
replaced
| 68653:d6ae1f3ad66b | 68660:2af7a6d765fd |
|---|---|
| 2745 sock_sendto(PySocketSockObject *s, PyObject *args) | 2745 sock_sendto(PySocketSockObject *s, PyObject *args) |
| 2746 { | 2746 { |
| 2747 Py_buffer pbuf; | 2747 Py_buffer pbuf; |
| 2748 PyObject *addro; | 2748 PyObject *addro; |
| 2749 char *buf; | 2749 char *buf; |
| 2750 Py_ssize_t len; | 2750 Py_ssize_t len, arglen; |
| 2751 sock_addr_t addrbuf; | 2751 sock_addr_t addrbuf; |
| 2752 int addrlen, n = -1, flags, timeout; | 2752 int addrlen, n = -1, flags, timeout; |
| 2753 | 2753 |
| 2754 flags = 0; | 2754 flags = 0; |
| 2755 if (!PyArg_ParseTuple(args, "y*O:sendto", &pbuf, &addro)) { | 2755 arglen = PyTuple_Size(args); |
| 2756 PyErr_Clear(); | 2756 switch (arglen) { |
| 2757 if (!PyArg_ParseTuple(args, "y*iO:sendto", | 2757 case 2: |
| 2758 &pbuf, &flags, &addro)) | 2758 PyArg_ParseTuple(args, "y*O:sendto", &pbuf, &addro); |
| 2759 return NULL; | 2759 break; |
| 2760 } | 2760 case 3: |
| 2761 PyArg_ParseTuple(args, "y*iO:sendto", | |
| 2762 &pbuf, &flags, &addro); | |
| 2763 break; | |
| 2764 default: | |
| 2765 PyErr_Format(PyExc_TypeError, | |
| 2766 "sendto() takes 2 or 3 arguments (%d given)", | |
| 2767 arglen); | |
| 2768 } | |
| 2769 if (PyErr_Occurred()) | |
| 2770 return NULL; | |
| 2771 | |
| 2761 buf = pbuf.buf; | 2772 buf = pbuf.buf; |
| 2762 len = pbuf.len; | 2773 len = pbuf.len; |
| 2763 | 2774 |
| 2764 if (!IS_SELECTABLE(s)) { | 2775 if (!IS_SELECTABLE(s)) { |
| 2765 PyBuffer_Release(&pbuf); | 2776 PyBuffer_Release(&pbuf); |
