rem: debug_dv("netcat_socket_new_listen(addr=%p, port=%hu)", (void *)addr, port);
add: debug_dv(("netcat_socket_new_listen(addr=%p, port=%hu)", (void *)addr, port));
context: int netcat_socket_new_listen(int domain, const struct in_addr *addr,			     in_port_t port){  int sock, ret, my_family;  struct sockaddr_in my_addr;  debug_dv("netcat_socket_new_listen(addr=%p, port=%hu)", (void *)addr, port);  /* selects the currently supported domains */  if (domain == PF_INET)    my_family = AF_INET;  else    return -1;		/* assumes as the socket(2) call failed */  /* Reset the sockaddr structure */  memset(&my_addr, 0, sizeof(my_addr));  my_addr.sin_family = my_family;  my_addr.sin_port = port;  /* this parameter is not mandatory.  if it's not present, it's assumed as     INADDR_ANY, and the behaviour is the same */  if (addr)    memcpy(&my_addr.sin_addr, addr, sizeof(my_addr.sin_addr));  /* create the socket and fix the options */  sock = netcat_socket_new(domain, SOCK_STREAM);  if (sock < 0)    return sock;		/* forward the error code */  /* bind it to the specified address (can be INADDY_ANY) */  ret = bind(sock, (struct sockaddr *)&my_addr, sizeof(my_addr));  if (ret < 0) {    ret = -3;    goto err;  }  /* now make it listening, with a reasonable backlog value */  ret = listen(sock, 4);  if (ret < 0) {    ret = -4;    goto err;  }  return sock; err:  /* the if () statement is unuseful, but I need to for declaring vars */  if (ret < 0) {    int tmpret, saved_errno = errno;    /* the close() calls MUST NOT fail */    tmpret = close(sock);    assert(tmpret >= 0);    /* restore the original errno */    errno = saved_errno;  }  return ret;}