EVNT_SA_IN4(evnt)->sin_addr.s_addr = htonl(INADDR_ANY);
int evnt_make_bind_ipv4(struct Evnt *evnt,                        const char *acpt_addr, short server_port,                        unsigned int listen_len){  int fd = -1;  int saved_errno = 0;  socklen_t alloc_len = sizeof(struct sockaddr_in);  Vstr_ref *ref = NULL;    if ((fd = socket(PF_INET, SOCK_STREAM, 0)) == -1)    goto sock_fail;    if (!(ref = vstr_ref_make_malloc(alloc_len)))    goto init_fail;  if (!evnt_init(evnt, fd, ref))    goto init_fail;  EVNT_SA_IN4(evnt)->sin_family = AF_INET;  EVNT_SA_IN4(evnt)->sin_addr.s_addr = htonl(INADDR_ANY);  if (acpt_addr && *acpt_addr) /* silent error becomes <any> */    EVNT__RESOLVE_NAME(evnt, acpt_addr);  if (EVNT_SA_IN4(evnt)->sin_addr.s_addr == htonl(INADDR_ANY))    acpt_addr = "any";    EVNT_SA_IN4(evnt)->sin_port = htons(server_port);  if (!evnt_fd__set_reuse(fd, TRUE))    goto reuse_fail;    if (bind(fd, EVNT_SA(evnt), alloc_len) == -1)    goto bind_fail;  if (!server_port)    if (getsockname(fd, EVNT_SA(evnt), &alloc_len) == -1)      vlg_err(vlg, EXIT_FAILURE, "getsockname: %m\n");    if (listen(fd, listen_len) == -1)    goto listen_fail;  vstr_ref_del(ref);  return (evnt__make_bind_end(evnt));   bind_fail:  saved_errno = errno;  vlg_warn(vlg, "bind(%s:%hd): %m\n", acpt_addr, server_port);  errno = saved_errno; listen_fail: reuse_fail:  evnt__uninit(evnt); init_fail:  vstr_ref_del(ref);  evnt__fd_close_noerrno(fd); sock_fail:  return (FALSE);}