Index: src/ekpcom.c diff -u -p src/ekpcom.c.orig src/ekpcom.c --- src/ekpcom.c.orig Wed Jul 30 22:11:04 2003 +++ src/ekpcom.c Tue Aug 24 23:37:59 2004 @@ -52,15 +52,25 @@ sock_open (void) { int sockfd, len; struct sockaddr_in address; +#ifndef MSG_NOSIGNAL + const int on = 1; +#endif if (server_sock_fd >= 0) return 0; /* Socket open */ sockfd = socket (AF_INET, SOCK_STREAM, 0); +#if !defined(MSG_NOSIGNAL) && defined(SO_NOSIGPIPE) + setsockopt(sockfd, SOL_SOCKET, SO_NOSIGPIPE, &on, sizeof(on)); +#endif + memset(&address, 0, sizeof(address)); address.sin_family = AF_INET; address.sin_addr.s_addr = htonl (INADDR_ANY); address.sin_port = htons (PORT_NUMBER); +#ifdef __FreeBSD__ + address.sin_len = sizeof(address); +#endif len = sizeof (address); if (connect (sockfd, (struct sockaddr *)&address, len)) { @@ -102,7 +112,11 @@ sock_write (char* buf, int* lp_wsize) packet[4] = size % 0xFF; memcpy (packet + Header_Size, buf, size); +#ifndef MSG_NOSIGNAL + size = send (server_sock_fd, packet, size + Header_Size, 0); +#else size = send (server_sock_fd, packet, size + Header_Size, MSG_NOSIGNAL); +#endif if (size < 0) return -1; @@ -126,7 +140,11 @@ sock_read (char* buf, int* lp_rsize) if (size <= 0) return 0; +#ifndef MSG_NOSIGNAL + dsize = recv (server_sock_fd, packet, size, 0); +#else dsize = recv (server_sock_fd, packet, size, MSG_NOSIGNAL); +#endif if (dsize < 0) return -1; Index: src/rastertopips.c diff -u -p src/rastertopips.c.orig src/rastertopips.c --- src/rastertopips.c.orig Thu Sep 4 13:34:25 2003 +++ src/rastertopips.c Tue Aug 24 19:41:41 2004 @@ -32,6 +32,8 @@ #include #include +#define NAME_MAX 41 + #define WIDTH_BYTES(bits) (((bits) + 31) / 32 * 4) typedef struct rtp_filter_option {