return TRUE;
}
if (!(f=fopen(NETWORK_PATHNAME_PID,"w"))) {
- g_warning(_("Error writing PID %d to \"%s\": %m"),(int)pid,NETWORK_PATHNAME_PID);
+static gboolean once=TRUE;
+
+ if (once) {
+ once=FALSE;
+ g_warning(_("Error writing PID %d to \"%s\": %m"),(int)pid,NETWORK_PATHNAME_PID);
+ }
return FALSE;
}
fprintf(f,"%d\n",(int)pid); /* errors ignored */
static gboolean master_start(gint port)
{
struct sockaddr_in sockaddr_in;
+uint16_t port_use;
g_return_val_if_fail(port>=0,FALSE);
g_return_val_if_fail(master==NULL,FALSE);
+ port_use=port;
+ if (port < 0 || port_use != port) {
+ g_warning(_("Port value %d is not valid for IPv4!"),(int)port);
+ return FALSE;
+ }
+
/* Setup 'master': */
if (!(master=client_new()))
return FALSE;
UDPGATE_MEMZERO(&sockaddr_in);
sockaddr_in.sin_family=AF_INET;
- sockaddr_in.sin_port=htons(port);
+ sockaddr_in.sin_port=htons(port_use);
sockaddr_in.sin_addr.s_addr=htonl(INADDR_ANY);
if (bind(master->gpollfd.fd,(struct sockaddr *)&sockaddr_in,sizeof(sockaddr_in))) {
- g_warning("bind(sock,{AF_INET,INADDR_ANY:%d}): %m",(int)port);
+ g_warning("bind(sock,{AF_INET,INADDR_ANY:%u}): %m",(unsigned)port_use);
return FALSE;
}
return TRUE;