memset (&listen_addr, 0, sizeof (listen_addr));
listen_addr.sin_family = AF_INET;
- if (inet_aton (addr?addr:"0.0.0.0", &listen_addr.sin_addr) == 0)
- abort();
+ if (addr)
+ {
+ if (inet_aton (addr, &listen_addr.sin_addr) == 0)
+ abort();
+ }
+ else
+ listen_addr.sin_addr.s_addr = INADDR_ANY;
+
listen_addr.sin_port = htons(port);
if (bind (self->fd, (struct sockaddr*)&listen_addr, sizeof (listen_addr)) == -1)