&network_config_ttl,
sizeof (network_config_ttl)) == -1)
{
- ERROR ("setsockopt: %s", strerror (errno));
+ char errbuf[1024];
+ ERROR ("setsockopt: %s",
+ sstrerror (errno, errbuf, sizeof (errbuf)));
return (-1);
}
}
&network_config_ttl,
sizeof (network_config_ttl)) == -1)
{
- ERROR ("setsockopt: %s", strerror (errno));
+ char errbuf[1024];
+ ERROR ("setsockopt: %s",
+ sstrerror (errno, errbuf,
+ sizeof (errbuf)));
return (-1);
}
}
if (bind (se->fd, ai->ai_addr, ai->ai_addrlen) == -1)
{
- ERROR ("bind: %s", strerror (errno));
+ char errbuf[1024];
+ ERROR ("bind: %s",
+ sstrerror (errno, errbuf, sizeof (errbuf)));
return (-1);
}
if (setsockopt (se->fd, IPPROTO_IP, IP_MULTICAST_LOOP,
&loop, sizeof (loop)) == -1)
{
- ERROR ("setsockopt: %s", strerror (errno));
+ char errbuf[1024];
+ ERROR ("setsockopt: %s",
+ sstrerror (errno, errbuf,
+ sizeof (errbuf)));
return (-1);
}
if (setsockopt (se->fd, IPPROTO_IP, IP_ADD_MEMBERSHIP,
&mreq, sizeof (mreq)) == -1)
{
- ERROR ("setsockopt: %s", strerror (errno));
+ char errbuf[1024];
+ ERROR ("setsockopt: %s",
+ sstrerror (errno, errbuf,
+ sizeof (errbuf)));
return (-1);
}
}
if (setsockopt (se->fd, IPPROTO_IPV6, IPV6_MULTICAST_LOOP,
&loop, sizeof (loop)) == -1)
{
- ERROR ("setsockopt: %s", strerror (errno));
+ char errbuf[1024];
+ ERROR ("setsockopt: %s",
+ sstrerror (errno, errbuf,
+ sizeof (errbuf)));
return (-1);
}
if (setsockopt (se->fd, IPPROTO_IPV6, IPV6_ADD_MEMBERSHIP,
&mreq, sizeof (mreq)) == -1)
{
- ERROR ("setsockopt: %s", strerror (errno));
+ char errbuf[1024];
+ ERROR ("setsockopt: %s",
+ sstrerror (errno, errbuf,
+ sizeof (errbuf)));
return (-1);
}
}
ai_return = getaddrinfo (node, service, &ai_hints, &ai_list);
if (ai_return != 0)
{
+ char errbuf[1024];
ERROR ("getaddrinfo (%s, %s): %s",
(node == NULL) ? "(null)" : node,
(service == NULL) ? "(null)" : service,
(ai_return == EAI_SYSTEM)
- ? strerror (errno)
+ ? sstrerror (errno, errbuf, sizeof (errbuf))
: gai_strerror (ai_return));
return (NULL);
}
if ((se = (sockent_t *) malloc (sizeof (sockent_t))) == NULL)
{
- ERROR ("malloc: %s", strerror (errno));
+ char errbuf[1024];
+ ERROR ("malloc: %s",
+ sstrerror (errno, errbuf,
+ sizeof (errbuf)));
continue;
}
if ((se->addr = (struct sockaddr_storage *) malloc (sizeof (struct sockaddr_storage))) == NULL)
{
- ERROR ("malloc: %s", strerror (errno));
+ char errbuf[1024];
+ ERROR ("malloc: %s",
+ sstrerror (errno, errbuf,
+ sizeof (errbuf)));
free (se);
continue;
}
if (se->fd == -1)
{
- ERROR ("socket: %s", strerror (errno));
+ char errbuf[1024];
+ ERROR ("socket: %s",
+ sstrerror (errno, errbuf,
+ sizeof (errbuf)));
free (se->addr);
free (se);
continue;
if (status <= 0)
{
+ char errbuf[1024];
if (errno == EINTR)
continue;
ERROR ("poll failed: %s",
- strerror (errno));
+ sstrerror (errno, errbuf, sizeof (errbuf)));
return (-1);
}
0 /* no flags */);
if (buffer_len < 0)
{
- ERROR ("recv failed: %s", strerror (errno));
+ char errbuf[1024];
+ ERROR ("recv failed: %s",
+ sstrerror (errno, errbuf,
+ sizeof (errbuf)));
return (-1);
}
(struct sockaddr *) se->addr, se->addrlen);
if (status < 0)
{
+ char errbuf[1024];
if (errno == EINTR)
continue;
ERROR ("network plugin: sendto failed: %s",
- strerror (errno));
+ sstrerror (errno, errbuf,
+ sizeof (errbuf)));
break;
}
receive_thread, NULL /* no argument */);
if (status != 0)
+ {
+ char errbuf[1024];
ERROR ("network: pthread_create failed: %s",
- strerror (errno));
+ sstrerror (errno, errbuf,
+ sizeof (errbuf)));
+ }
}
return (0);
} /* int network_init */