Skip to content

Commit 6ccd817

Browse files
committed
clinic argument for socket.inet_ntoa
1 parent 144f61c commit 6ccd817

File tree

2 files changed

+56
-18
lines changed

2 files changed

+56
-18
lines changed

Modules/clinic/socketmodule.c.h

Lines changed: 41 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Modules/socketmodule.c

Lines changed: 15 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -6528,30 +6528,29 @@ _socket_socket_inet_aton_impl(PySocketSockObject *self, const char *ip_addr)
65286528
}
65296529

65306530
#ifdef HAVE_INET_NTOA
6531-
PyDoc_STRVAR(inet_ntoa_doc,
6532-
"inet_ntoa(packed_ip) -> ip_address_string\n\
6533-
\n\
6534-
Convert an IP address from 32-bit packed binary format to string format");
6531+
/*[clinic input]
6532+
_socket.socket.inet_ntoa
6533+
packed_ip: Py_buffer
6534+
/
65356535
6536-
static PyObject*
6537-
socket_inet_ntoa(PyObject *self, PyObject *args)
6536+
Convert an IP address from 32-bit packed binary format to string format.
6537+
[clinic start generated code]*/
6538+
6539+
static PyObject *
6540+
_socket_socket_inet_ntoa_impl(PySocketSockObject *self, Py_buffer *packed_ip)
6541+
/*[clinic end generated code: output=b671880a3f62461b input=95c2c4a1b2ee957c]*/
65386542
{
6539-
Py_buffer packed_ip;
65406543
struct in_addr packed_addr;
65416544

6542-
if (!PyArg_ParseTuple(args, "y*:inet_ntoa", &packed_ip)) {
6543-
return NULL;
6544-
}
6545-
6546-
if (packed_ip.len != sizeof(packed_addr)) {
6545+
if (packed_ip->len != sizeof(packed_addr)) {
65476546
PyErr_SetString(PyExc_OSError,
65486547
"packed IP wrong length for inet_ntoa");
6549-
PyBuffer_Release(&packed_ip);
6548+
PyBuffer_Release(packed_ip);
65506549
return NULL;
65516550
}
65526551

6553-
memcpy(&packed_addr, packed_ip.buf, packed_ip.len);
6554-
PyBuffer_Release(&packed_ip);
6552+
memcpy(&packed_addr, packed_ip->buf, packed_ip->len);
6553+
PyBuffer_Release(packed_ip);
65556554

65566555
SUPPRESS_DEPRECATED_CALL
65576556
return PyUnicode_FromString(inet_ntoa(packed_addr));
@@ -7219,8 +7218,7 @@ static PyMethodDef socket_methods[] = {
72197218
METH_O, htonl_doc},
72207219
_SOCKET_SOCKET_INET_ATON_METHODDEF
72217220
#ifdef HAVE_INET_NTOA
7222-
{"inet_ntoa", socket_inet_ntoa,
7223-
METH_VARARGS, inet_ntoa_doc},
7221+
_SOCKET_SOCKET_INET_NTOA_METHODDEF
72247222
#endif
72257223
#ifdef HAVE_INET_PTON
72267224
{"inet_pton", socket_inet_pton,

0 commit comments

Comments
 (0)