我想实现python的socket.gethostbyname。
我试图理解源代码(https://github.com/python/cpython/blob/67e1478dba6efe60b8e1890192014b8b06dd6bd9/Modules/socketmodule.c),但并没有真正理解它的工作原理和实现方式。
/*ARGSUSED*/
static PyObject *
socket_gethostbyname(PyObject *self, PyObject *args)
{
char *name;
sock_addr_t addrbuf;
PyObject *ret = NULL;
if (!PyArg_ParseTuple(args, "et:gethostbyname", "idna", &name))
return NULL;
if (setipaddr(name, SAS2SA(&addrbuf), sizeof(addrbuf), AF_INET) < 0)
goto finally;
ret = makeipaddr(SAS2SA(&addrbuf), sizeof(struct sockaddr_in));
finally:
PyMem_Free(name);
return ret;
}